Para alguns formatos de texto, as quebras de linha são importantes.
Por exemplo, costumo usar o Vim para escrever documentos do MediaWiki, onde você não pode simplesmente colocar uma quebra de linha em qualquer lugar (ao contrário do Markdown). Então, sou forçado a escrever linhas com muitos caracteres.
Isso pode levar a linhas longas (mais de 200 caracteres) ou até muito longas (mais de 1000 caracteres). Acho isso muito estranho de usar no Vim. Um exemplo é: se eu quiser editar algo no meio da linha de 1000 caracteres, preciso mover o cursor 500 vezes.
Isso pode ser feito um pouco mais rápido com w
ou /
, mas ainda é estranho.
Existem maneiras melhores de lidar com isso? Teclas de movimento melhores? Algum tipo de "invólucro falso" (o texto se comporta como se tw=80
, mas não \n
no arquivo), ou algo mais?
fonte
Respostas:
Você pode usar uma
g
série de comandos para mover para os limites da área visível da tela. Por exemplo, g$move-se para a borda direita da tela (que não é necessariamente o fim da linha). gjmove o cursor para baixo uma linha, como aparece na tela (que não é necessariamente uma linha lógica para baixo).Talvez você possa religar as teclas de seta:
Ou algumas pessoas também religam diretamente ke j:
Para o modo de inserção, você pode usar:
Ou:
Além disso, se você usar
:set wrap
, o Vim quebrará as linhas, para que você possa ver toda a linha. Você também pode usarset showsbreak=+
para mostrar a+
para indicar que o Vim está fazendo quebra automática.Para pular para posições específicas da coluna, você pode usar o |comando Por exemplo, 200|irá para a posição da coluna 200.
fonte
g5j
pular 5, como sempre.5gj
g5j
,g5
é visto pela primeira vez, que apenas salta para a próxima5
antes de aplicar aj
. É por isso que não pode fazer o que5gj
faz.O Vim tem suporte para empacotamento suave, apenas
set wrap
para habilitá-lo e envolverá longas filas que vão além da tela visível. Você pode usargj
&gk
para mover para cima / para baixo, respectivamente, sobre essas linhas quebradas.fonte
Quando estou lidando com linhas muito longas, o maior ponto de dor tem a ver com diferentes comprimentos de linha. Ou seja, mover para cima ou para baixo perto do final das linhas rola a janela muito para a esquerda ou direita.
Isso pode ser evitado pela configuração
virtualedit=all
, que permite mover o cursor para o espaço muito depois das terminações da linha.fonte
Como já foi dito, você pode usar g+ algo para se movimentar. No entanto, quando você tem linhas extremamente longas, pressionar gjvárias vezes para se mover para baixo não é ergonômico. Tenho o seguinte no meu
.vimrc
para tornar isso muito mais fácil:Em um Mac, isso permite que eu use j, k, $, 0 e ^ nas linhas de exibição mantendo pressionada a tecla de comando. Em outros sistemas, em vez de
D
você pode tentarM
ouA
para Alt ouC
para Control.fonte