這是以下內容cmd.txt
:
:w 2.txt
:q
在命令列中,我這樣做
D:\>vim 1.txt<cmd.txt
我希望 cmd.txt 作為輸入流(而不是我的鍵盤),vim 會將 1.txt 儲存為 2.txt,然後退出。
然而它不起作用。 Vim 說輸入不是來自終端並凍結。
我想從外部文件發送命令。這個怎麼做?
更新:
我想做的就是替換很多模式。我有一個關於 NBA 歷史的文件,其中球隊的名稱指的是城市,我想將其更改為“姓氏”。
我以某種方式產生了替換命令(30 條規則/行):
:%s/\v<Boston>/Celtics/g
:%s/\v<Brooklyn>/Nets/g
:%s/\v<New York>/Knicks/g
:%s/\v<Philadelphia>/76ers/g
:%s/\v<Toronto>/Raptors/g
:%s/\v<Golden St>/Warriors/g
:%s/\v<LA Clippers>/Clippers/g
:%s/\v<LA Lakers>/Lakers/g
:%s/\v<Phoenix>/Suns/g
:%s/\v<Sacramento>/Kings/g
:%s/\v<Chicago>/Bulls/g
:%s/\v<Cleveland>/Cavaliers/g
:%s/\v<Detroit>/Pistons/g
:%s/\v<Indiana>/Pacers/g
:%s/\v<Milwaukee>/Bucks/g
.....
我想將檔案輸入到vim來執行這些命令。我不想手動輸入這些命令。
我可以用另一種方式產生規則並將其輸入到其他程序,甚至編寫一個簡單的程序來進行替換。但如果可以在 Vim、Powershell 或我最近學習的 Total Commanders 中完成,我將不勝感激。
答案1
答案2
我知道這篇文章是舊文章,但 @Gqqnbig 所要求的是可能的。
只需將您想要經常執行的命令清單儲存到檔案中即可。理想情況下給它一個 .vim 副檔名,例如 nbaEdits.vim
在資料檔案中,您想要執行的命令只需從 VIM 命令列發出此命令(我只透過 Windows 嘗試過此操作):
:source c:\myVimCommands\nbaEdits.vim
**以上假設您的命令檔位於 c:\myVimCommands 的資料夾中