在vim中,如何直观地选择以前粘贴的文本
我通常会选择一个块,然后在其他地方复制/剪切它,然后我发现自己总是格式化粘贴的文本,所以有没有一种方法可以快速直观地再次选择文本。每个修改缓冲区(和yanks)的命令都会在更改区域周围设置在vim中,如何直观地选择以前粘贴的文本,vim,Vim,我通常会选择一个块,然后在其他地方复制/剪切它,然后我发现自己总是格式化粘贴的文本,所以有没有一种方法可以快速直观地再次选择文本。每个修改缓冲区(和yanks)的命令都会在更改区域周围设置'[和']标记。因此,您可以通过以下方式重新格式化粘贴的块: `[v`]= 有些人甚至使用以下映射来重新选择上次修改的文本块: nnoremap <expr> gV '`[' . getregtype()[0] . '`]' nnoremap gV'`['.getregtype()[0].`'
'[
和']
标记。因此,您可以通过以下方式重新格式化粘贴的块:
`[v`]=
有些人甚至使用以下映射来重新选择上次修改的文本块:
nnoremap <expr> gV '`[' . getregtype()[0] . '`]'
nnoremap gV'`['.getregtype()[0].`'
使用此映射,您可以执行gV=
并格式化刚刚粘贴的文本
但是,如果您有插件并且正在按行粘贴,则可以使用它提供的
=p
命令。这将粘贴文本,然后一次性重新格式化文本。它还提供了一些其他可选的粘贴命令
,例如将一个缩进级别粘贴得更深。我使用的方法很简单。粘贴后,光标位于粘贴文本的开头。按V切换到视觉选择,按']转到粘贴的结尾
它们是三个按键。如果太长,则可以为p
map p pV'[
map P PV'[
对于视觉模式,
gv
是重新选择上一区域的标准方式
如果要在区域的起始位置和结束位置之间切换,只需按o
正如其他答案所提到的,您可以在此重新选择的区域应用标准的=
命令
在粘贴p
或p
后,它运行良好
优点是您不需要任何自定义映射。如缩进和其他内容。尽管这可以通过
gg=G
实现。顺便说一句,你看到这个问题了吗?答:你应该试试[p
和]p
。可能不完全是我所要求的答案,维姆大师!