Existe alguma maneira de ir palavra por palavra usando 'Ctrl + -'

0

Estou imaginando se há alguma maneira de ir palavra por palavra usando Ctrl + -> como no resto dos editores.

    
por user35538 01.07.2013 / 21:20

2 respostas

6

Tente usar w para mover palavra por palavra. Os movimentos do Wordwise são mais rápidos no vim. Os comandos w, b, e e ge nos permitem avançar ou retroceder ao início ou ao final de uma palavra. veja :help word no vim para mais informações.

Aqui está um link para uma excelente resposta sobre o uso indevido do vim:

link

    
por 01.07.2013 / 21:37
1

Depois de ver isso em vários computadores ...

No Linux usando o Gnome Terminal, esse recurso funciona imediatamente. (é por isso que romainl pergunta se você tentou)

No Mac OS 10.8 (Leão da montanha)

Control + Arrow Key é pego pelo Mission Control e muda de espaço ou move a tela. Para desabilitar isso, vá para Preferências do Sistema - > Teclado - > Atalhos de teclado - > Controle da Missão e desmarque todos os que possuem ctrl + arrow (o Controle é representado por um ^ )

Depois disso é feito. Ctrl + Arrow funciona no iTerm2 sem mexer no vim.

No entanto, ele não funciona imediatamente no vim no Terminal. Por alguma razão, o controle + seta corresponde a excluir até o final da linha. (Que parece ser o mesmo comportamento que no bash).

Para corrigir isso, você precisa alterar o que o Terminal envia como uma string de caracteres quando Control Left e Control Right são enviados.

No terminal, vá para Preferências - > Configurações - > (Perfil que você está usando) - > Teclado

Edite o cursor de controle para a esquerda para ser 3[1;5D e edite o cursor de controle para a direita para ser 3[1;5D . (Nota: \ 033 é digitado pressionando ESC )

Após essas alterações serem feitas, você deve poder usar Control Left e Control Right para avançar ou retroceder as palavras.

Além disso, enquanto Control Left e Control Right existem comandos equivalentes de uma letra para fazer o mesmo no modo normal. ( <C-Left> é Control + Left e <S-Left> é Shift + Left)

<C-Left>  == B    <S-Left>  == b
<C-Right> == W    <S-Right> == w

Dê uma olhada em :h b e :h w

(Nota: <S-Left> e <S-Right> podem não funcionar em Termianl a menos que você altere o que o Terminal envia)

    
por 02.07.2013 / 02:16

Tags