Come selezionare / eliminare fino alla fine del file in vim / gvim?


42

Per caso, sono riuscito a copiare e incollare un paragrafo in milioni di miliardi di volte. Come faccio a selezionare e quindi eliminare il testo dalla mia posizione corrente alla fine del file?

In Windows, questo sarebbe Ctrl-Maiusc-Fine, seguito da Elimina.


Vim ha annullato. Press u.
Kusalananda

Risposte:


49
VGx

Entra in Visual Mode, vai a End of File, elimina.

In alternativa, puoi fare:

Vggx

Per eliminare dalla posizione corrente all'inizio del file.


1
Ugh, non ricorderò mai tutte queste scorciatoie. Le scorciatoie di Windows sono molto più intuitive.
ripper234,

Personalmente, trovo che i VIM siano più intuitivi. V, entra in modalità visiva G, quasi come "go", fino alla fine del file. E x, rimuovi.
Mark Szymanski,

10
@ ripper234: non cercare di ricordare "frammenti" per eseguire attività specifiche, concentrati sui sottocomandi. Fa parte della magia di vim: usare questi comandi più piccoli per costruire cose più grandi e complesse. È quasi infinitamente flessibile.
Reid,

E aiuta davvero molto a prendere il tempo e leggere le relative sezioni di vim-help con: h command-you-need-help-for
Gjallar,

1
Per aggiungere a questo: corri vimtutordalla riga di comando per familiarizzare con loro @ ripper234
Bernhard

48

dviene eliminato e si Gsposta alla fine del file, quindi dGverrà eliminato alla fine del file. Include comunque l'intera riga corrente; se sei a metà linea e vuoi conservare tutto prima della posizione attuale devi usare il metodo di Mark


+1 L'altro modo per conservare parte della riga corrente è D<enter>dG: Deliminare su EOL, <enter>passare alla riga successiva, dGeliminare su EOF.
Jim L.

8

Ancora un altro metodo: :.,$d

Ciò significa che in modalità ex, indirizza la riga corrente alla fine ed elimina.


7

È anche possibile digitare uper annullare le modifiche che hanno comportato la copia incolla errata.


non sempre possibile, vedere la "selezione". Immagina di aver scritto un po 'di codice alla fine del file (e di volerlo da qualche altra parte), dG ti permette l'inserimento con p | P
relascope il

2
vGx

funziona bene per la selezione di più righe (in questo caso il paragrafo), ma se si desidera selezionare all'interno di una singola riga si comporta in modo misterioso (seleziona dal cursore fino all'inizio della riga).

In caso di selezione all'interno della linea singola è necessario utilizzare:

v$x

Che entra in modalità Visual ("v") e va alla fine della riga ("$") ed elimina ("x") dalla posizione corrente fino alla fine della riga.


0

Vggx non ha funzionato per me, ma vG $ d ha funzionato. vG $ seleziona EOF (ultimo carattere dell'ultima riga), quindi qualunque comando tu voglia eseguire.

= Questo approccio (comando dopo la selezione) sembra funzionare meglio. Certo, sto usando Vim 8.1 su Windows 10 e qualche anno dopo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.