Como manter a seleção visual do Vim com movimento personalizado?

0

Eu tenho alguns utilitários de movimento no meu vim rc que me ajudam a navegar no arquivo mais rápido, mas eu também gostaria de usá-los quando selecionar visualmente. Aqui está a ligação de chave atual que tenho: em ~ / .vimrc

nnoremap <C-h> b
nnoremap <C-l> w
nnoremap <C-j> 5j
nnoremap <C-k> 5k
nnoremap <Tab> :call Tab() <CR>

function! Tab()
    let col = col(".")
    let line = line(".")
        normal! %
    if (col == col(".") && line == line("."))
        normal! $
    endif
endfunction

Existe uma maneira de selecionar visualmente com esses utilitários?

    
por Kexin Lu 04.08.2016 / 18:59

1 resposta

0

Basta adicionar os mapeamentos de modo visual correspondentes:

vnoremap <C-h> b
vnoremap <C-l> w
vnoremap <C-j> 5j
vnoremap <C-k> 5k
vnoremap <Tab> :<c-u>call Tab()<CR>gv

Observe que é necessário algum trabalho extra para o mapeamento de <Tab> no modo visual. Ou seja, limpe os marcadores de limite visual automático ao entrar no modo -command e, em seguida, selecione novamente a área visual após a função ter sido chamada.

    
por 04.08.2016 / 20:51

Tags