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?

Animesh
la source

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

Bernhard
la source
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
30

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

G$
Gilles 'SO- arrête d'être méchant'
la source
Gilles, merci c'est plus ce que je cherchais.
Animesh
Merci. Il vaut la peine de préciser que c'est un G majuscule: Shift+g
forzagreen
5

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

Kurt Hutchinson
la source
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: ^
user239993
la source
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»).

Bill Totman
la source
-1

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

Fred Yang
la source
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