Como mover para o último caractere do arquivo no vim?

Respostas:

32

Se você digitar Adepois G, entrará no modo de inserção no final da última linha.

Se você quiser apenas ir para o último caractere, G-Endserá suficiente

Bernhard
fonte
Aentão Gestá bem para mim. Mas se eu não quiser editar, é G-Enda única opção? Existe uma única chave para fazer isso em vez de duas?
Animesh
3
Não que eu saiba, mas isso não é garantia. Você sempre pode criar seu próprio mapa, se quiser.
Bernhard
30

Gvai para a última linha e $vai para o último caractere da linha, então

G$
Gilles 'SO- parar de ser mau'
fonte
Gilles, obrigado, isso é mais do que eu estava procurando.
Animesh
Obrigado. Vale a pena esclarecer que é uma letra maiúscula G: Shift+g
forzagreen
5

Ctrl + End também funciona, nos modos normal e de inserção. :help <C-End>

Kurt Hutchinson
fonte
Isso move o cursor apenas para o último caractere na linha atual.
sebix
@ sebix: Não, verifique a ajuda.
Kurt Hutchinson
Não funciona para mim com vim 7,4
sebix
@ sebix: Funciona bem para mim e o texto de ajuda é bastante claro. Talvez você tenha algum mapeamento ou plug-in que está substituindo o comportamento interno.
Kurt Hutchinson
0
  • Mover para a última linha do arquivo: G
  • Mover para a primeira linha do arquivo: 1G
  • Mover para o final da linha: $
  • Mover para o início da linha: ^
user239993
fonte
11
Bem-vindo à U&L, isso dificilmente adiciona algo à resposta existente e aceita.
Archemar
0

A maioria das respostas aqui assume uma última linha do arquivo que não está em branco - o que provavelmente é o caso mais comum. Também existem suposições sobre a disponibilidade de uma tecla END no teclado. No entanto, as chaves END não estão disponíveis universalmente e são possíveis linhas em branco no final de um arquivo. Portanto, o seguinte pode ser aproveitado para todos os casos para encontrar o último caractere (não final de linha) de um arquivo:

G?.

Essa é apenas uma das poucas (ou talvez várias) combinações de comandos que podem atingir o resultado pretendido. O padrão é:

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

No caso da sequência de comandos acima, você vai para o final do arquivo e faz uma busca reversa por qualquer caractere (mas não um caractere 'fim de linha').

Bill Totman
fonte
-1

você pode usar um número grande, como 99 ou 999 e $. curtir 999 $

Fred Yang
fonte
Isso é mais pressionamentos de tecla do que G$e menos certo. Muitos arquivos têm mais de 1000 linhas.
Curinga
Concorde, mas esta solução abre a possibilidade de você poder posicionar até o final de qualquer linha, digamos que pode posicionar até o final da linha 13. Você pode fazer 13 $.
Fred Yang