是否有vim命令直接选择刚刚粘贴的文本块?
PS。我知道gv
在退出视觉模式后重新选择一个块。它不适用于这种情况。
答案 0 :(得分:13)
如果您想在粘贴后选择它(在更改其他任何内容之前),请使用
nnoremap <expr> gV "`[".getregtype(v:register)[0]."`]"
。 [
和]
标记指向最后一次更改的开始和结束,v:寄存器设置为最后使用的寄存器(这是用于粘贴命令的寄存器,除非您,例如,拉动某些东西) ,[0]
仅选择寄存器类型的第一个字节(这是必需的,因为对于块状寄存器,它返回<C-v>{width}
)并且寄存器类型是一个字节,这与您应该在正常模式下使用的击键相同调用视觉模式。
我在SO的某个地方看到了这个解决方案,你可能想要搜索它以获得一些替代方案。
答案 1 :(得分:1)
就我而言,我有这张地图:
:nnoremap gp `[v`]
答案 2 :(得分:0)
我的vimrc中永远有以下地图:
nnoremap <leader>p `[V`]
nnoremap <leader>[ `[V`]<
nnoremap <leader>] `[V`]>
他们执行以下操作:
我可能比使用选择的那些更多地使用缩进的那些。