Quando eu quero que o cursor vá para o final do arquivo (ou seja, o final da última linha) no Vim, eu tenho que digitar seis teclas:
<ESC>G$a
- que se traduz em ESC+ Shiftg+ Shift4+ ano layout do meu teclado.
Como posso fazer isso de forma mais eficiente?
Como trabalho regularmente em muitas máquinas diferentes, nem sempre posso alterar .vimrc, por isso estou procurando respostas sem precisar editar ou criar esse arquivo.
<esc>G$a
você mostra a mudança colocando a letra em maiúscula. E você mostra um em$
vez de shift + 4, pois não importa o teclado, a função dessa tecla ($
) não será alterada, mas se você alterar + 4, o significado poderá mudar. :)$
está o teclado dos EUA, e pode ser que, para os americanos, digitar o comando$
seja apenas um toque de tecla. Eu queria mostrar explicitamente que para mim (com um teclado alemão) são duas teclas.Respostas:
Não há necessidade de ir explicitamente para o final da linha antes de fazer
a
, useA
;Anexar texto no final da linha [contagem] vezes
<ESC>GA
fonte
G)
(ou<ESC>G)
se estiver no modo de inserção e quiser terminar no modo normal com o último caractere). Mesmo número de pressionamentos de tecla, mas para terminar no modo normal em vez do modo de inserção. Acho isso útil ocasionalmente quando quero executar algum comando normal na última palavra, em vez de um comando ou edição no modo de inserção.)
avança as[count]
frases e, portanto, não vai para o final da linha se, por exemplo, a última linha forThis is a test. Foo bar.
. Porém, ele funcionará com muito código, o que geralmente não é considerado sentenças e, portanto, termina no final.<ESC>
G
o
fará o retorno de carro e o colocará no modo de inserção na próxima linha (no final do arquivo), economizando mais algumas teclas.G$
.Isso é mais rápido. Basta usar isso
fonte
Pressione Esce pressione: Shift+G
fonte
Para iniciantes, não há necessidade de retorno.
G$
vai fazer. E você está sendo enganoso contando<Esc>
ea
no comprimento de um comando no modo normal.No entanto, você pode usar Ctrl+ Endse quiser.
fonte
Ctrl-END
End
-Key no teclado (se é isso que você quer dizer).<ESC>
ea
, porque ele ou ela sabia de uma forma de substituirShift+$, a
comA
.Eu pensei que a pergunta era "Mover o cursor para o final do arquivo no vim"?
Fim do arquivo: Esc+ G
Início do arquivo Esc+ g(ou
gg
se você já estiver na área de comando)fonte
A melhor maneira de ir para a última linha do arquivo é com
G
. Isso moverá o cursor para a última linha do arquivo.A melhor maneira de ir para a última coluna da linha é com
$
. Isso moverá o cursor para a última coluna da linha atual.Então, basta
G$
você chegar ao final do arquivo e à última linha.E se você quiser entrar no modo de inserção no final do arquivo, basta fazê-lo
GA
. Ao fazer isso, você vai para a última linha do arquivo e entra no modo de inserção anexando à última coluna. :)fonte
Ir para o topo - Duplo g
Vá para a parte inferior - Shift+g
fonte
Se você planeja escrever a próxima linha, ESCGofará o retorno de carro e o colocará no modo de inserção na próxima linha (no final do arquivo), economizando mais algumas teclas.
fonte
Ctrl + Home
= Ir para o início do arquivoCtrl + End
= Ir para o final do arquivofonte
Isso é mais rápido:
fonte
A
?Você pode mapeá-lo para uma chave, por exemplo, F3, em .vimrc
fonte
GA
ouG$
.C-end
como mencionado por hobbs.Eu tenho procurado a maneira de mover o cursor para o final de uma linha e, em seguida, editar em um terminal Mac, eis como ele funcionou para mim. Saia do modo de edição, digite g_ (que é 'g' e sublinhe sem dois pontos na frente) e pressione a tecla 'a' para que você possa "adicionar" código aos seus scripts
fonte
A
?A
é basicamente equivalente a$a
Outra alternativa:
Isso pode ser útil se você estiver escrevendo uma função. Outra situação seria quando eu preciso abrir um modelo específico e pular para o final da primeira linha, eu posso fazer:
O acima também poderia ser feito com
Veja também:
vim - Obtém o comprimento da linha atual
fonte
Se você deseja colar algum conteúdo da área de transferência no final do tipo de arquivo:
fonte