我发现自己经常重复以下操作模式。
我通常进入视觉模式,选择一些行或阻止。然后我使用y
抓取它们,并使用p
或P
粘贴它们。下一步是选择粘贴的文本,替换变量或函数名称或更改缩进。
我知道我可以使用gv
来重新选择“原点”,但我想要的是选择“目的地”的类似命令。
:help gv
提及:
After using "p" or "P" in Visual mode the text that
was put will be selected.
但它仅在您通过寄存器内容替换选择时有用,而不是在插入整个新块时。
答案 0 :(得分:45)
您正在寻找
`[v`]
答案 1 :(得分:10)
我更喜欢以下简单的映射到Benoit的函数
nnoremap <expr> g<c-v> '`[' . strpart(getregtype(), 0, 1) . '`]'
了解有关表达式图的更多信息:
:h :map-expression
正如@ZyX指出的那样,strpart不是必需的,可以改写为:
nnoremap <expr> g<c-v> '`[' . getregtype()[0] . '`]'
答案 2 :(得分:0)
您的一个用例是在粘贴后更改缩进。
我使用以下地图来实现这一目标:
nnoremap <leader>[ `[V`]<
nnoremap <leader>] `[V`]>
他们执行以下操作:
我发现这些非常有用且使用得很好的地图。