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.