NB Questo non è un duplicato di Come funziona il comando "d3fg"? Si prega di leggere prima di votare per chiudere!
Sono arrivato a un punto morto nella mia ricerca per far funzionare le piccole eliminazioni come quelle grandi . Il problema che ho è che non riesco a capire come rimappare i comandi come d3d. In realtà, non riesco nemmeno a capire come funzionano in primo luogo, né trovarne alcuna menzione nell'aiuto di Vim. *
d3jè semplice: applica l' doperatore al 3jmovimento,
3ddè anche semplice: esegue il ddcomando con un "conteggio" di 3.
d3d sembra che dovrebbe essere semplice, applica l' doperatore al ... ma che cos'è 3d? Non è un movimento. Se digiti 3dda solo, Vim lo considera come un conteggio seguito da un operatore e attende pazientemente ulteriori input.
E non puoi applicare operatori ad altri operatori. ddnon è descritto nella guida come una sequenza di due operatori. È un comando separato a due tasti. (cfr dc. che non fa nulla).
Inoltre, non sembra essere il caso che il posizionamento del conteggio sia flessibile per i comandi che richiedono due sequenze di tasti: 2gjsposta il cursore su due righe dello schermo, ma g2jscarta completamente i primi due tasti e sposta il cursore su una riga.
Quindi, come funziona? È solo un caso speciale nel codice interno di Vim? Esiste un modo per creare una d[count]dmappatura?
EDIT : è un oggetto di testo? :h text-objectsnon include nella lista dei "comandi di selezione oggetto testo", ma poi non comprende dd in una lista di delezioni "raggruppato da piccole a grandi oggetti". E d2awcancella la parola sotto il cursore e quella successiva. D'altra parte, c2dnon fa nulla.
* Sono sicuro che alcuni di essi debbano esistere, ma non riesco a trovarlo. Ho letto :help deleting, :help motion.txte provato :helpgrep dNdper tutti i valori di N da 1-9 .
ddè identico a d_. _porta il cursore sul primo non vuoto sulla ( [count]-1) riga in basso, ma è in senso lineare, quindi se accoppiato con un operatore, opera su intere linee. Per questa ragione, ha senso che un conteggio possa apparire tra le due ds.
dfunga da conferma; Quindi è lo stesso did3<CR>.y3yec3cfunziona allo stesso modo ... Non riesco a trovare alcun documento su questo, sia in Vim: help, vi (1), nvi (1), sia nelle specifiche POSIX ... Si comporta allo stesso modo invienvibtw .