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
.