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


26

Fichier:

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

La documentation indique que Gme prend la fin du fichier, mais cela ne me ramène 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 aet taper un point.

Comment je fais ça?


Réponses:


32

Si vous tapez Aaprès, Gvous entrerez en mode insertion à la fin de la dernière ligne.

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


Aalors Gça me va. Mais si je ne veux pas éditer, est-ce G-Endla seule option? Existe-t-il une seule clé pour ce faire au lieu de deux?
Animesh

3
Pas que je sache, mais ce n'est pas une garantie. Vous pouvez toujours créer votre propre carte si vous le souhaitez.
Bernhard


5

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


Cela déplace uniquement le curseur sur le dernier caractère de la ligne actuelle.
sebix

@sebix: Non, consultez l'aide.
Kurt Hutchinson du

Ne fonctionne pas pour moi avec vim 7.4
sebix

@sebix: Cela fonctionne très bien pour moi, et le texte d'aide est assez clair. Peut-être que vous avez un mappage ou un plugin qui remplace le comportement intégré.
Kurt Hutchinson

0
  • 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: ^

1
Bienvenue chez U&L, cela n'ajoute pratiquement rien à la réponse existante et acceptée.
Archemar

0

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 FIN sur son clavier. Cependant, les touches FIN 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:

G?.

Ceci est simplement l' un des quelques (ou peut - être plusieurs) des combinaisons de commandes permettant d' atteindre le résultat escompté. Le modèle étant:

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

Dans le cas de la séquence de commandes ci-dessus, vous allez à la fin du fichier et effectuez une recherche inversée pour tout caractère (mais pas un caractère de «fin de ligne»).


-1

vous pouvez utiliser un grand nombre tel que 99 ou 999 et $. comme 999 $


C'est plus de touches que G$et moins certain. De nombreux fichiers dépassent 1 000 lignes.
Wildcard

D'accord, mais cette solution ouvre la possibilité que vous puissiez positionner jusqu'à la fin de n'importe quelle ligne, disons que vous pouvez positionner jusqu'à la fin de la ligne 13. Vous pouvez faire 13 $.
Fred Yang
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.