Vim
VIM:腳本搜尋和替換?
我正在切換到 Linux 並且曾經擁有 NoteTab Pro,它允許我進行腳本搜尋和替換……因為我需要多個替換序列才能達到特定的結果。我想將這些序列放入文件或宏中,以多次應用它,同時改進腳本或將其應用到多個文件。
VIM 支持這個嗎?
為什麼不試試?好吧,我在安裝之前進行了研究。:)
幾乎沒有比 Vim 更適合編寫腳本的編輯器了,所以答案是肯定的。
幾種方法是可能的:
- 正如@Angelo 已經回答的那樣,您可以簡單地將Vim 命令(準確地說是Ex 命令;即您在Vim 中鍵入
:
並結束的任何內容<Enter>
)放在一個scriptname.vim
文件中,然後:source path/to/scriptname.vim
載入並執行它們。這裡的好處是您可以保持腳本打開,進行編輯並保留,然後可以立即重新執行它。另一方面,呼叫不是很短,也不是很好,這也不能很好地擴展。(您可以:source
從一個腳本中提取另一個腳本,但這真的很難看。)- 作為替代方案,您可以跳過外部文件,只需將命令放入寄存器 (
:help quote_alpha
)。您可以將寄存器粘貼到暫存緩衝區中,進行編輯,然後將其拉回(複製)到寄存器中,然後使用:@
. 命名寄存器通常會在會話中自動保存,但您也可以將它們放入您的.vimrc
(請參閱下一個)以防止宏被覆蓋。- 最常見的方法是製作新的自定義映射或命令。映射由短擊鍵呼叫,並與 Vim 的模式編輯保持一致(因此相同的鍵可以根據模式執行不同的操作);這些用於經常做的事情。命令是 Ex 命令,因此鍵入時間較長,但您將在 Vim 的命令行上完成。
:help usr_40.txt
有關如何編寫映射和命令的詳細說明,請參閱。您通常將它們放入您的中央配置文件中,~/.vimrc
, 然後它們在啟動 Vim 後立即可用。與以前的方法相比,映射和命令可以無縫地融入 Vim 並且可以很容易地呼叫,因此這些對於您將來會一次又一次地需要的東西來說非常有用。缺點是編輯和重新載入更複雜(重新啟動 Vim 需要時間,重新載入到目前會話需要更多的努力)。- 如果您的擴展通常有用,您可以將它們變成一個外掛 (
:help write-plugin
),然後可以輕鬆地在 Vim 安裝之間共享、發布(在 GitHub 或vim.org上)。有大量可用的外掛;所以在重新發明輪子之前先搜尋一下!