As teclas do cursor não saltam pelas guias no Vim

0

Quando eu passo por cima de uma aba com as teclas do cursor ( h e l ), o cursor não pula sobre a aba, apenas vai um espaço de cada vez . Isso é chato porque não tenho certeza se há uma guia ou espaços. O que eu espero é que se eu passar para uma aba o cursor deve situar no começo da aba (a posição mais à esquerda) e se eu mover um espaço para a direita, ele deve pular para o primeiro caractere após a aba.

Como posso alcançar esse comportamento?

Observe que estou usando visualedit=all .

    
por Tyler Durden 09.09.2014 / 07:53

1 resposta

2

Suponho que você queira dizer virtualedit em vez de visualedit (que não existe)?

Você precisa desabilitar virtualedit no modo normal, pois essa opção define o tratamento das guias para as possíveis posições do cursor; Em vez de all , use todos os outros valores juntos:

:set virtualedit=insert,block,onemore

Em vim documentation, :help 'virtualedit' :

'virtualedit' 've'  string  (default "")
    A comma separated list of these words:
        block   Allow virtual editing in Visual block mode.
        insert  Allow virtual editing in Insert mode.
        all     Allow virtual editing in all modes.
        onemore Allow the cursor to move just past the end of the line

    Virtual editing means that the cursor can be positioned where there is
    no actual character.  This can be halfway into a tab or beyond the end
    of the line.  Useful for selecting a rectangle in Visual mode and
    editing a table.


A partir desta descrição, parece não ser possível ter virtualedit=all , exceto a parte de pular sobre guias.

Uma maneira possível de implementar isso é remapear as chaves h e l para pular as guias explicitamente no modo normal e manter virtualedit=all .

    
por 09.09.2014 / 08:09

Tags