如何在 Vim 編輯器中註釋多行
Vim 是最流行和最有影響力的命令行文本編輯器之一。它為任何終端極客打包了許多功能和特性。然而,Vim 可能會讓新用戶望而卻步——不是因為它學習和掌握起來很複雜,而是因為它有一種非常規的做事方式。例如,Vim 使用的快捷方式、模式和綁定通常需要一些時間來適應,您需要一篇完整的文章來向您展示如何退出 Vim。
本指南討論如何通過學習快速簡單的步驟來註釋多個代碼塊來熟悉 Vim。
首先,在 Vim 中對多行進行註釋之前,您需要知道如何對單行進行註釋,所以讓我們把它作為我們的起點。
如何在 Vim 中註釋單行
要在 Vim 中註釋掉一行:
- 按Ctrl+V進入可視模式。
- 導航到您要註釋掉的行,然後按C鍵。
- 根據你的 Vim 配置,這應該註釋掉選定的行。
這就是它的全部 – 簡單,不是嗎?現在讓我們深入一點。
如何註釋多行
我們使用一個簡單的 Python 腳本來學習如何在 Vim 中註釋掉多行。
vim comments.py
1.使用行號
使用行號是在 Vim 中註釋掉多行的一種方法。Vim 允許您指定開始和結束行並將它們註釋掉。
- 通過以下命令為每一行分配一個數字:
:set number
- 按ESC鍵啟動 Vim 命令模式。
- 輸入命令:
:[start],[end]/s/^/#
start 是開始的行號,end 是結束註釋塊的行號。
- 現在您已經對所選行進行了評論,您可以使用以下命令取消分配行號:
:set nonumber
以下屏幕截圖說明瞭如何使用此命令對第 15 行到第 25 行進行註釋。
:15,25s/^/#
2.高亮塊
假設您不知道要註釋掉的行號。在這種情況下,您可以使用 highlight 方法突出顯示目標塊並將其註釋掉。
- 將光標放在要評論的行上,然後按Shift+V鍵。這樣做將突出顯示光標所在的整行。
- 使用向上和向下箭頭鍵(或字母k和j)選擇要註釋掉的行。按下up或k突出顯示所選行上方的行,同時點擊down或j突出顯示下方的行。
- 突出顯示目標塊後,按RETURN鍵退出 Visual Line。
- 按鍵ESC進入命令模式,輸入命令:
:s/^/#
- 按Enter運行命令並在突出顯示的行上添加註釋。
3.正則表達式
Vim 還支持正則表達式 (regex) 來註釋掉包含特定單詞的行。要註釋掉包含特定術語的行:
- 在 vim 編輯器中打開文件並鍵入以下命令:
:g/\keyword/s/^/#
此命令中的“關鍵字”代表您希望註釋掉的特定詞。
- 按下Enter以運行命令。Vim 在執行命令前自動高亮目標詞。
下面的示例註釋掉所有包含關鍵字 True 的行:
:g/\True/s/^/#
4.視覺模式
您還可以使用 Vim 可視化模式來註釋一段代碼。
- 導航到您希望開始註釋掉的行。按Ctrl+V鍵啟用視覺模式。
- down arrow使用向上和鍵或字母k和選擇所有你想註釋掉的行j。Vim 會在每一行的開頭插入一個高亮來表示選中的行。
- 選擇目標行後,按Shift+I進入插入模式。
- 輸入目標文件的註釋符號。在這種情況下,必須插入井號 (
#
) 符號來註釋 Python 代碼。 - 按下ESC鍵,Vim 將註釋掉所有選中的行。
如何取消註釋多行
您可能還需要取消註釋多行。為此,您可以使用可視模式或命令。
1.視覺模式
- 首先導航到您希望取消註釋的行,然後按Ctrl+V激活可視塊模式。
- up使用和down arrow鍵或字母k和來選擇要取消註釋的所有行j。
- 選擇行後,按X鍵刪除註釋。
2.使用命令
另一種方法是使用命令刪除所有以註釋符號開頭的行。
- 在 vim 編輯器中打開文件並鍵入以下命令。將 <comment symbol> 替換為您要刪除的實際註釋符號。:
:%s/^<comment symbol>/
- 按下Enter以運行命令。
您還可以按照方法 1 中的步驟突出顯示要取消註釋的行,然後使用步驟 1 中的命令刪除註釋。
經常問的問題
如何在 Vim 中將多行合併為一行?
您可以通過將光標放在第一行並按Shift+ j(大寫 J)在 Vim 編輯器中合併兩行。這樣,帶有光標的行將與其正下方的行合併。繼續按Shift+j添加更多行。
如何在 Vim 中編寫文本?
你可以在 Vim 中以插入模式輸入文本。按Shift+i啟用它。您還可以按 Enter 鍵轉到新行或在插入模式下使用箭頭鍵進行導航。按Esc再次返回命令模式。
如何在 Vim 編輯器中保存文件並退出?
要在退出或不退出 Vim 的情況下保存文件,請按 Esc 進入命令模式。然後,按Shift+ ;(輸入:冒號)。在冒號前鍵入 ,x
按 Enter 鍵保存文件,然後退出 Vim。您也可以鍵入w
並按 Enter 鍵來保存文件而不退出 Vim 或q!
關閉 Vim 而不保存文件。
發佈留言