Risposte:
Il comando dweliminerà dalla posizione corrente del cursore all'inizio del carattere della parola successiva. Il comando d$(nota che è un simbolo di dollaro, non una "S") verrà eliminato dalla posizione corrente del cursore alla fine della riga corrente. Dè sinonimo di d$.
dw
, ma immagino di aver appena pensato che ci sarebbe stato un comando "elimina il resto di questa riga". Per esempio la mia linea ha ip=|10.1.1.1
con |
essendo la posizione del cursore. C'è un comando che cancellerà tutto 10.1.1.1
?
d$
:!rm -f %
e quindi :q!
. Ciò elimina l'intero file.
d^
('d' + caret) ... praticamente d + qualsiasi personaggio che normalmente sposterebbe il cursore, penso, ma sto imparando Vim me stesso, quindi potrei sbagliarmi.
Come altri hanno già detto: è possibile utilizzare d$
o D
( shift- d) per eliminare dalla posizione del cursore fino alla fine della riga.
Quello che in genere trovo più utile è c$
o C
( shift- c) perché eliminerà dalla posizione del cursore fino alla fine della riga e vi metterà in modalità [INSERIRE].
D
per la maggior parte delle persone, secondo me, in quanto non ti sposta indietro di uno spazio alla fine della linea.
i
che si inserisce prima del cursore e a
che si inserisce dopo il cursore. Se il cursore si trova alla fine della riga e si desidera inserire alla fine della riga, è possibile utilizzare solo a
.
Una delle cose belle di vi è la sua struttura di comando logica. d
seguito da un comando di movimento d eletes al target di tale movimento. $
si sposta alla fine della linea (mnemonico: come in regexps). Quindi d$
cancella fino alla fine della linea. Allo stesso modo, e
si muove al di posta ND della parola corrente, e w
mosse per l'inizio del prossimo w ord; quindi de
elimina la fine della parola corrente e dw
inoltre elimina i seguenti spazi bianchi.
<kbd>
per i tasti effettivi, non per le sequenze di comandi. Ad esempio <kbd>Ctrl</kbd>+<kbd>C</kbd>
, ma d$
.
Probabilmente vuoi usare D. Sposta il cursore sul primo carattere che vuoi eliminare, quindi premi maiusc-D. Tutto finito. In realtà, si trova nel buffer di taglio predefinito, quindi è possibile incollarlo nuovamente.
Uso Dp (elimino alla fine della riga, quindi lo rimetto), mi sposto alla fine di un'altra riga, quindi p di nuovo per incollare lo stesso testo alla fine di questa altra riga. Funziona a meraviglia nei file di configurazione, in cui è necessario inserire alcuni URL complicati in due o più posizioni.
Penso che una scorciatoia in modalità inserimento possa tornare utile.
In modalità insert forse sarebbe meglio iniziare a cambiare fino alla fine della riga (mettilo sul tuo ~/.vimrc
):
inoremap <C-l> <C-o>C
Quindi, come è stato detto, Din modalità normale e Ctrl+ lin modalità inserimento. Come puoi vedere, hai anche Ciniziato a cambiare fino alla fine della riga.
<C-o> ......... insert normal keystroke in insert mode
Ho scelto Ctrl- lperché l
è sotto le tue dita. Il Ctrl- kè già usato per inserire digraph.
Ho cercato :h i_Ctrl
alcune combinazioni di tasti gratuite, ed è in realtà il problema più grande quando si tratta di creare nuove scorciatoie per eseguire azioni in vim.
Per eliminare un intervallo di righe da dopo la posizione del cursore, 3Dverrà eliminato dal cursore fino alla fine della riga, così come le due righe successive completamente (ovvero, elimina 3 righe dopo la posizione del cursore).
ad es. per il seguente testo (cursore rappresentato come |
),
If there's a cursor |in the line
here
we
go
Utilizzando il comando 3Dverrà emesso:
If there's a cursor
go