为了快速执行一些命令,我想在某个地方输入它们,然后将它们粘贴到vim中执行。(几年或10年前)这是有效的。现在,VIM进入插入模式,我的命令被插入到我的文件中。我知道我可以有宏,但对于快速重复一些命令,这是非常有用的。找不到任何关于它的东西,因为当要求vim和粘贴时,只会显示与以下内容相关的答案:设置粘贴等。
/foo
yy?bar
p/foo
j
在命令模式下粘贴时,应该搜索下一个foo,拖动该行,向后搜索下一个bar,然后粘贴拖动的foo-line,再转到该foo-line后面。我不想知道解决方法(makros,脚本,等等),我想知道如何禁用(暂时)vim区分用键盘输入的文本和粘贴的文本。
3条答案
按热度按时间dgsult0t1#
这是“括号粘贴模式”的结果。请参见
:help xterm-bracketed-paste
。通过清除
't_BE'
禁用“括号粘贴模式”:ca1c2owp2#
如果您的Vim已经编译为支持剪贴板,那么您可以保持
't_BE'
不变,而是通过@*
或@+
将剪贴板作为寄存器来执行,这可能是处理此类用例的更“惯用”的方式。有关详细信息,请参见
:h @
。n9vozmp43#
我也有同样的问题...我有大量的VIM命令文件,我用它们来批量重新格式化数百个纯文本文件。粘贴命令,下一个文件,粘贴命令,下一个文件,并在这样做编辑数百个文件,与给定的一组vim命令,在短短一分钟左右...
然后这一切突然停止工作,因为括号粘贴模式被添加...(我相信是补丁8. 0. 0238的一部分)。
然而,我仍然喜欢在插入模式下粘贴文本的附加功能,没有VIM自动缩进使插入的文本一团糟,所以也不想失去它...
我的解决方案是在正常或命令模式下禁用粘贴,而在插入模式下保持括号粘贴。