[英]How to execute a list of vim commands on a text file?
我有一个大约1000行的文本,我有一堆我想要应用的vim命令。 很多正则表达式找到和替换的东西。 例如:
:%s/^[^\\$\\$]/def
:%s/\\$\\$/
%s/='/ = ['
我可以逐个复制并粘贴这些命令,但每次收到此文件的新版本时我都必须再次这样做。 我想知道是否有办法保存一长串命令然后我可以应用到该文件? 谢谢!
你可以把他们都到寄存器中 ,无论是在临时缓冲区中输入这些命令,然后y
安庆到寄存器,或者通过明确的分配:
:let @a = "%s///\n%s///"
然后,执行via :@a
根据您的Vim配置,寄存器内容可能会持续跨会话(cp。:help :help viminfo
),但您必须小心不要覆盖它们。
更持久且更具可扩展性的解决方案是将命令放入单独的脚本文件中,理想情况下使用.vim
扩展名。 您可以将它们放在任何位置(除了~/.vim/plugin
,除非您希望它们自动执行),然后通过它们运行它们
:source /path/to/script.vim
如果您经常需要一组命令,可以为它们命名并将它们转换为自定义命令 :
:command! MyCommands %s/// | %s///
把它放到你的~/.vimrc
,或者(如果它是特定于文件类型的),把它变成:help ftplugin
。
通常,您可以使用shell从shell运行vim命令
vim -c YourCommandHere
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.