我有一个大约 1000 行长的文本,我有一堆想要应用到它的 vim 命令。很多正则表达式查找和替换的东西。例如:
:%s/^[^\$\$]/def
:%s/\$\$/
%s/='/ = ['
我可以一个一个地复制和粘贴这些命令,但是每次收到这个文件的新版本时,我都必须再次这样做。我想知道是否有办法保存一长串命令,然后我可以将其应用于文件?谢谢!
最佳答案
寄存器
您可以通过在暂存缓冲区中键入这些命令然后 y
将它们全部放入寄存器中。进入寄存器,或通过显式赋值:
:let @a = "%s///\n%s///"
然后,通过
:@a
执行根据您的 Vim 配置,寄存器内容可能会跨 session 持续存在 (cp.
:help viminfo
),但您必须小心不要覆盖它们。脚本
一个更持久和更具可扩展性的解决方案是将命令放入一个单独的脚本文件中,最好使用
.vim
延期。你可以把它们放在任何地方(除了 ~/.vim/plugin
,除非你想让它们自动执行),然后通过:source /path/to/script.vim
自定义命令
如果你经常需要一组命令,你可以给它们一个名字并将它们变成一个自定义命令:
:command! MyCommands %s/// | %s///
将此放入您的
~/.vimrc
, 或者(如果它是特定于文件类型的),将其设为 :help ftplugin
.
关于vim - 如何在文本文件上执行 vim 命令列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41723873/