Keybinding para fazer End ir um caractere além do último caractere na linha

0

Por padrão, a tecla End me leva ao último caractere na linha do Vim. No entanto, eu tenho set virtualedit=onemore no meu vimrc, e eu realmente quero que o End me leve um caractere além do último caractere.

Primeiro eu tentei map <End> g$ , mas se a linha ficar fora do final da tela, só me levará ao último caractere visível.

Então eu tentei map <End> $<Right> , mas se a linha estiver em branco, eu levo para a próxima linha, em vez de simplesmente não fazer nada.

Alguma idéia?

    
por Alex Henrie 04.06.2016 / 02:04

2 respostas

0

Você precisa executar uma expressão que verifique se a linha possui caracteres e age de acordo. Tente isto:

:noremap <expr> <end> (col('$')>1?"\<lt>end>\<lt>right>":'')

Veja:

:help :map-<expr>
    
por 04.06.2016 / 02:44
0

Você pode tentar isso.

   :map <End> $a<space><ESC>

Isso moverá para o último caractere, depois acrescentará um espaço e depois será movido para ele.

    
por 04.06.2016 / 04:43

Tags