Come passare all'ultimo carattere del file in vim?


26

File:

i am someone1.
i am someone2.
i am someone3
~
~

La documentazione dice che Gmi porta alla fine del file, ma mi porta solo all'inizio dell'ultima riga. Voglio essere in grado di arrivare all'ultimo carattere del file, 3 in questo caso, e premere ae digitare un punto.

Come lo faccio?


Risposte:


32

Se digiti Adopo G, entrerai in modalità inserimento alla fine dell'ultima riga.

Se vuoi solo andare all'ultimo personaggio, allora G-Endsarà sufficiente


Aallora Gva bene per me. Ma se non voglio modificare, è G-Endl'unica opzione? C'è una sola chiave per farlo invece di due?
— Animesh,

3
Non di cui sono a conoscenza, ma non è una garanzia. Puoi sempre creare la tua mappa se vuoi.
— Bernhard,


5

Ctrl + Fine funziona anche, sia in modalità normale che di inserimento. :help <C-End>


Questo sposta solo il cursore sull'ultimo carattere della riga corrente.
— sebix,

@sebix: No, controlla l'aiuto.
— Kurt Hutchinson,

Per me non funziona con vim 7.4
— sebix

@sebix: funziona perfettamente per me e il testo di aiuto è abbastanza chiaro. Forse hai qualche mapping o plugin che sta sovrascrivendo il comportamento integrato.
— Kurt Hutchinson,

0
  • Passa all'ultima riga nel file: G
  • Passa alla prima riga nel file: 1G
  • Sposta alla fine della riga: $
  • Vai all'inizio della riga: ^

1
Benvenuto in U&L, questo non aggiunge quasi nulla alla risposta esistente e accettata.
— Archemar,

0

La maggior parte delle risposte qui presuppone un'ultima riga non vuota del file, che è probabilmente il caso più comune. Ci sono anche ipotesi sulla disponibilità di un tasto END sulla propria tastiera. Tuttavia, le chiavi END non sono universalmente disponibili e alla fine di un file sono possibili righe vuote. Pertanto, in tutti i casi è possibile sfruttare quanto segue per trovare l'ultimo carattere (non di fine riga) di un file:

G?.

Questa è semplicemente una delle poche (o forse più) combinazioni di comandi che possono ottenere il risultato desiderato. Il modello è:

"Set Cursor Position" + "Search Method" + "Pattern"

Nel caso della sequenza di comandi sopra, vai alla fine del file e fai una ricerca inversa per qualsiasi carattere (ma non un carattere di "fine linea").


-1

puoi usare un numero elevato come 99 o 999 e $. come 999 $


Questo è un numero maggiore di tasti G$e meno certo. Molti file sono più lunghi di 1000 righe.
— Wildcard il

Accetto, ma questa soluzione apre una possibilità che puoi posizionare alla fine di qualsiasi linea, ad esempio puoi posizionare alla fine della linea 13. Puoi fare 13 $.
— Fred Yang,
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.