[英]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.