我的 vim rc 中有一些移动实用程序,可以帮助我更快地在文件中导航,但我还想在视觉选择时使用它们。这是我当前的键绑定:在 ~/.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
有没有办法使用这些实用程序进行视觉选择?
答案1
只需添加相应的视觉模式映射:
vnoremap <C-h> b
vnoremap <C-l> w
vnoremap <C-j> 5j
vnoremap <C-k> 5k
vnoremap <Tab> :<c-u>call Tab()<CR>gv
注意,在可视模式下进行映射需要做一些额外的工作<Tab>
。即,在进入 :-command 模式时清除自动可视边界标记,然后在调用该函数后重新选择可视区域。