Como mover o cursor para o enésimo símbolo da esquerda no Vim?
Uma das soluções que vejo é pressionar 0n<right-arrow>, ele se moverá para a posição n + 1. Existe alguma maneira mais natural de fazer isso?
Como mover o cursor para o enésimo símbolo da esquerda no Vim?
Uma das soluções que vejo é pressionar 0n<right-arrow>, ele se moverá para a posição n + 1. Existe alguma maneira mais natural de fazer isso?
<right arrow>vez de lin vim?
Respostas:
O tubo '|' personagem pode ser o que você deseja:
Para ir para a 25ª coluna em uma linha no modo normal, pressione 25|
Para ir para a 37ª coluna em uma linha no modo normal, pressione 37|
e assim por diante. . .
$3h, que o moverá para o final da linha e, em seguida, 3 caracteres para a esquerda.
:help bar. Quando descobri sobre isso, ficou muito mais fácil comentar e descomentar XD. Depois de descobrir isso, não confio em plug-ins de comentário / descomentar externos, a vida de edição de código é muito melhor agora :)
EDITAR: interpretou mal sua pergunta.
você pode avançar para um determinado símbolo digitando fseguido pelo símbolo em questão:
se você quiser passar para o terceiro $, digite:
3f$
para voltar, você usa "F" maiúsculo
F$
para chegar ao final da linha primeiro, você usa "$"
portanto, suas teclas para localizar o terceiro $ do final de uma linha são:
$3F$
Gosto de manter algo assim à mão ao usar o Vim:
http://www.lagmonster.org/docs/vi.html
Não tenho certeza se você quer dizer o enésimo caractere ou a enésima ocorrência de um caractere; a segunda foi respondida, então responderei a primeira.
^irá levá-lo para o início da linha excluindo os espaços em branco (portanto, para a primeira coluna não branca) e |(barra vertical) ou 0(zero) irá levá-lo para o primeiro caractere. Então l(L minúsculo) o levará para a direita; e 7lo levará sete caracteres à direita. Então, todos juntos, para ir para o (n + 1) ésimo caractere na linha, para n = 7 07l,.
lem vez da seta para a direita, é o melhor que você obterá. (você está familiarizado com a navegação hjkl?)
|só vai para o primeiro caractere porque o [count]padrão é 1 - na verdade vai para o [count]º caractere na linha, então 8|é como, 07lexceto que é um único movimento em vez de dois.