首頁 > linux教程 > Vim文本編輯器 閱讀:0更新時間:2020-03-28 00:57:00

Linux Vim批量注釋和自定義注釋快捷鍵

使用 Vim 編輯 shell 腳本,在進行調試時,需要進行多行的注釋,每次都要先切換到輸入模式,在行首輸入注釋符"#"再退回命令模式,非常麻煩。

連續行的注釋其實可以用替換命令來完成。換句話說,在指定范圍行加"#"注釋,可以使用 ":起始行,終止行 s/^/#/g",例如:

:1,10s/^/#/g

表示在第 1~10 行行首加"#"注釋。"^"意為行首;"g"表示執行替換時不詢問確認。如果希望每行交互詢問是否執行,則可將 "g" 改為 "c"。

取消連續行注釋,則可以使用 ":起始行,終止行s/^#//g",例如:

:1,10s/^#//g

意為將行首的"#"替換為空,即刪除。

當然,使用語言不同,注釋符號或想替換的內容不同,都可以采用此方法,靈活運用即可。

添加"//"注釋要稍微麻煩一些,命令格式為 ":起始行,終止行 s/^/\/\//g"。例如:

:1,5s/^/\/\//g

表示在第 1~5 行行首加"//"注釋,因為 "/" 前面需要加轉義字符 "\",所以寫出來比較奇特。

以上方法可以解決連續行的注釋問題,如果是非連續的多行就不靈了,這時我們可以定義快捷鍵簡化操作。格式如下:

:map 快捷鍵 執行命令

如定義快捷鍵 "Ctrl+P" 為在行首添加 "#" 注釋,可以執行 ":map^P l#<Esc>"。其中 "^P" 為定義快捷鍵 "Ctrl+P"。注意:必須同時按 "Ctrl+V+P" 快捷鍵生成 "^P" 方可有效,或先按 "Ctrl+V" 再按 "Ctrl+P" 也可以,直接輸入 "^P" 是無效的。

"l#<Esc>" 就是此快捷鍵要觸發的動作,"l" 為在光標所在行行首插入,"#" 為要輸入的字符,"<Esc>" 表示退回命令模式。"<Esc>" 要逐個字符輸入,不可直接按鍵盤上的 Esc 鍵。

設置成功后,直接在任意需要注釋的行上按 "Ctrl+P" 快捷鍵,就會自動在行首加上 "#" 注釋。取消此快捷鍵定義,輸入 ":unmap^P" 即可。

我們可以延伸一下,如果想取消文件行首的快捷鍵,則可以設置 ":map^B 0x",快捷鍵為 "Ctrl+B", "0" 表示跳到行首,"x" 表示刪除光標所在處字符。

再如,有時我們寫完腳本等文件,需要在末尾注釋中加入自己的郵箱,則可以直接定義每次按快捷鍵 "Ctrl+E" 實現插入郵箱,定義方法為 ":map^E asamlee@itxdl.net<Esc>"。其中 "a" 表示在當前字符后插入,"samlee@itxdl.net" 為插入的郵箱,"<Esc>" 表示插入后返回命令模式。

所以,通過定義快捷鍵,我們可以把前面講到的命令組合起來使用。

將快捷鍵對應的命令保存在 .vimrc 文件中,即可在每次使用 Vim 時自動調用,非常方便。

beylze編程學院,一個分享編程知識和seo優化知識的網站。跟著beylze一起學習,每天都有進步。

通俗易懂,深入淺出,一篇文章只講一個知識點。

文章不深奧,不需要鉆研,在公交、在地鐵、在廁所都可以閱讀,隨時隨地漲姿勢。

文章不涉及代碼,不燒腦細胞,人人都可以學習。

當你決定關注beylze(公眾號:beylze),你已然超越了90%的其他從業者!

相關文章

優秀教程

国产亚洲欧美日韩