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 rapidamente, mas também gostaria de usá-los na seleção visual. 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 esses utilitários?

Respostas:


0

Basta adicionar 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 <Tab>mapeamento no modo visual. Nomeadamente, limpe os marcadores visuais de contorno automáticos ao entrar no modo de comando: e, em seguida, selecione novamente a área visual após a chamada da função.


:%s/vnore/xnore
Romainl
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.