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' d
operatore al 3j
movimento,
3ddè anche semplice: esegue il dd
comando con un "conteggio" di 3.
d3d sembra che dovrebbe essere semplice, applica l' d
operatore 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]d
mappatura?
EDIT : è un oggetto di testo? :h text-objects
non 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.txt
e provato :helpgrep dNd
per 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 d
s.
d
funga da conferma; Quindi è lo stesso did3<CR>
.y3y
ec3c
funziona 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 invi
envi
btw .