web-dev-qa-db-fra.com

Comment passer au dernier caractère du fichier dans vim?

Fichier:

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

La documentation indique que G me prend la fin du fichier, mais cela ne me conduit qu'au début de la dernière ligne. Je veux pouvoir arriver au dernier caractère du fichier, 3 dans ce cas, et appuyer sur a et taper un point.

Comment je fais ça?

30
Animesh

Si vous tapez A après G, vous entrerez en mode insertion à la fin de la dernière ligne.

Si vous voulez simplement aller au dernier caractère, alors G-End suffira

38
Bernhard

G va à la dernière ligne et $ va au dernier caractère de la ligne, donc

G$

Ctrl + Fin fonctionne également, dans les modes normal et d'insertion. :help <C-End>

5
Kurt Hutchinson
  • Passer à la dernière ligne du fichier: G
  • Déplacer vers la première ligne du fichier: 1G
  • Aller en fin de ligne: $
  • Déplacer au début de la ligne: ^
0
user239993

La plupart des réponses ici supposent une dernière ligne non vide du fichier - ce qui est probablement le cas le plus courant. Il existe également des hypothèses sur la disponibilité d'une touche END sur son clavier. Cependant, les touches END ne sont pas universellement disponibles et des lignes vides sont possibles à la fin d'un fichier. Par conséquent, les éléments suivants peuvent être utilisés pour tous les cas afin de trouver le dernier caractère (non de fin de ligne) d'un fichier:

?[0-9a-zA-Z]

Il s'agit simplement de ne de quelques (ou peut-être plusieurs) combinaisons de commandes qui peuvent atteindre le résultat souhaité. Le modèle étant:

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

Dans le cas de la séquence de commandes ci-dessus, vous allez au début du fichier et effectuez une recherche inversée pour tout chiffre ou lettre.

0
Bill Totman