在vim中,如何直观地选择以前粘贴的文本

时间:2015-02-09 19:02:37

标签: vim

我通常会直观地选择一个块并将其复制/剪切到其他地方,然后我发现自己总是格式化粘贴的文本,所以有没有办法快速直观地选择文本。

3 个答案:

答案 0 :(得分:5)

修改缓冲区(和yanks)的每个命令都会在更改的区域周围设置'[']标记。因此,您可以通过以下方式重新格式化粘贴的块:

`[v`]=

有些人甚至使用以下映射来重新选择最后修改的文本块:

nnoremap <expr> gV '`[' . getregtype()[0] . '`]'

通过此映射,您只需执行gV=并格式化刚刚粘贴的文字。

但是,如果您拥有unimpaired.vim插件并且正在按行标注,则可以使用它提供的=p命令。这将粘贴然后重新格式化文本。它还提供了一些其他替代粘贴命令>p,例如将更深的粘贴一个缩进级别。

答案 1 :(得分:0)

我使用的方式很简单。粘贴后,光标位于粘贴文本的开头。按 V 切换到视觉选择,按&#39;] 以结束粘贴。

他们是3键按键。如果它太长,那么您可以为 p

进行映射
map p pV'[
map P PV'[

答案 2 :(得分:0)

对于视觉模式,gv是重新选择上一个区域的标准方式。

如果您想在区域的开始和结束位置之间切换,只需按o

正如其他答案所提到的,您可以在此重新选择的区域应用标准=命令。

pP粘贴后,它很有效。

优点是您不需要任何自定义映射。