视觉上选择线的中间

pet*_*ens 4 vim

我有这个映射,可以让我移动到该行的中间:

nnoremap <silent> M :execute 'normal! ' . (virtcol('$')/2) . '\|'<CR>
Run Code Online (Sandbox Code Playgroud)

可以扩展为在视觉模式下工作吗?

FDi*_*off 5

这似乎有效。

vnoremap <silent> M :<c-u>execute 'normal! gv' . (virtcol('$')/2) . '\|'<CR>
Run Code Online (Sandbox Code Playgroud)

由于键入 ex 命令会退出可视模式,因此您需要在执行命令之前首先重新选择可视模式|

<c-u>清除预先填充的命令行,'<,'>
gv重新选择旧的虚拟选择。

使用 vnoremap 使其成为可视模式映射。