簡體   English   中英

如何在文本文件上執行vim命令列表?

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM