No terminal, posso fazer isso pressionando shift + home e shift + end, mas parece que não funciona no vim. As teclas inicial e final rolam apenas a janela do terminal. Eu gostaria de pular no modo de edição.
No terminal, posso fazer isso pressionando shift + home e shift + end, mas parece que não funciona no vim. As teclas inicial e final rolam apenas a janela do terminal. Eu gostaria de pular no modo de edição.
Respostas:
Esta resposta assume que você está usando o vim em uma janela do Terminal .
As ligações padrão para Home e End são um pouco diferentes do que um programa esperaria com base na configuração TERM usual (ou seja, uma variante xterm). Se você deseja manter as ligações padrão (e ter que usar as variantes Shifted no Terminal ), tente colocar algo assim em seu .vimrc
:
:" map Mac OS X Terminal.app default Home and End
:map <ESC>[H <Home>
:map <ESC>[F <End>
:imap <ESC>[H <C-O><Home>
:imap <ESC>[F <C-O><End>
:cmap <ESC>[H <Home>
:cmap <ESC>[F <End>
Caso contrário, você pode tentar ajustar os códigos que o Terminal envia quando você usa o Início e o Fim (mesmo sem deslocamento, se desejar). Uma pesquisa provavelmente mostraria alguns lugares que descrevem como fazê-lo ( aqui está um ). A idéia básica é que você deseja que o Terminal envie ESC [1 ~ em vez de ESC [H para Casa e ESC [4 ~ em vez de ESC [F para Fim (ou Shift-Home / Shift-End, se você quiser manter Home / Fim para acessar a rolagem). Eu descreveria o processo com mais detalhes, mas tenho apenas 10.4 e sei que o Terminal foi alterado muito na 10.5 e posterior.
use 0 e $ para ir para o início e o fim da linha. Consulte este site: http://alvinalexander.com/linux/vi-vim-editor-end-of-line .
0
e $
.
Como complemento à resposta de Chris , você também pode conseguir a navegação por palavras (com Option+arrow
teclas), apenas adicionando essas quatro linhas:
:map <ESC>f el
:imap <ESC>b <C-o>b
:imap <ESC>f <C-o>el
:cmap <ESC>f el
Observe que o
está em minúscula, para que não saia do insert
modo para a operação. Você também pode alterar as letras maiúsculas O
na resposta original para o mesmo efeito.
No MacVim, você pode usar o comando 'Seta para a esquerda' e o comando 'Seta para a direita' para ir para o início e o fim da linha enquanto estiver no modo de edição.
Vá para Terminal -> Preferências -> Perfis -> Teclado e adicione:
Chave: ↖ Ação: \ 033OH
Chave: ↗ Ação: \ 033OF