Vim 視覺化模式入門

2019-03-05 07:29:00

視覺化模式使得在 Vim 中高亮顯示和操作文字變得更加容易。

Ansible 劇本檔案是 YAML 格式的文字檔案,經常與它們打交道的人通過他們偏愛的編輯器和擴充套件外掛以使格式化更容易。

當我使用大多數 Linux 發行版中提供的預設編輯器來教學 Ansible 時,我經常使用 Vim 的視覺化模式。它可以讓我在螢幕上高亮顯示我的操作 —— 我要編輯什麼以及我正在做的文字處理任務,以便使我的學生更容易學習。

Vim 的視覺化模式

使用 Vim 編輯文字時,視覺化模式對於識別要操作的文字塊非常有用。

Vim 的可視模式有三個模式:字元、行和塊。進入每種模式的按鍵是:

  • 字元模式: v (小寫)
  • 行模式: V (大寫)
  • 塊模式: Ctrl+v

下面是使用每種模式簡化工作的一些方法。

字元模式

字元模式可以高亮顯示段落中的一個句子或句子中的一個短語,然後,可以使用任何 Vim 編輯命令刪除、複製、更改/修改視覺化圖形識別的文字。

移動一個句子

要將句子從一個地方移動到另一個地方,首先開啟檔案並將游標移動到要移動的句子的第一個字元。

  • 按下 v 鍵進入視覺化字元模式。單詞 VISUAL 將出現在螢幕底部。
  • 使用箭頭來高亮顯示所需的文字。你可以使用其他導航命令,例如 w 高亮顯示至下一個單詞的開頭,$ 來包含該行的其餘部分。
  • 在文字高亮顯示後,按下 d 刪除文字。
  • 如果你刪除得太多或不夠,按下 u 復原並重新開始。
  • 將游標移動到新位置,然後按 p 貼上文字。

改變一個短語

你還可以高亮顯示要替換的一段文字。

  • 將游標放在要更改的第一個字元處。
  • 按下 v 進入視覺化字元模式。
  • 使用導航命令(如箭頭鍵)高亮顯示該部分。
  • 按下 c 可更改高亮顯示的文字。
  • 高亮顯示的文字將消失,你將處於插入模式,你可以在其中新增新文字。
  • 輸入新文字後,按下 Esc 返回命令模式並儲存你的工作。

行模式

使用 Ansible 劇本時,任務的順序很重要。使用視覺化行模式將 Ansible 任務移動到該劇本檔案中的其他位置。

操縱多行文字

  • 將游標放在要操作的文字的第一行或最後一行的任何位置。
  • 按下 Shift+V 進入行模式。單詞 VISUAL LINE 將出現在螢幕底部。
  • 使用導航命令(如箭頭鍵)高亮顯示多行文字。
  • 高亮顯示所需文字後,使用命令來操作它。按下 d 刪除,然後將游標移動到新位置,按下 p 貼上文字。
  • 如果要複製該 Ansible 任務,可以使用 y(yank)來代替 d(delete)。

縮排一組行

使用 Ansible 劇本或 YAML 檔案時,縮排很重要。高亮顯示的塊可以使用 >< 鍵向右或向左移動。

  • 按下 > 增加所有行的縮排。
  • 按下 < 減少所有行的縮排。

嘗試其他 Vim 命令將它們應用於高亮顯示的文字。

塊模式

視覺化塊模式對於操作特定的表格資料檔案非常有用,但它作為驗證 Ansible 劇本檔案縮排的工具也很有幫助。

Ansible 任務是個專案列表,在 YAML 中,每個列表項都以一個破折號跟上一個空格開頭。破折號必須在同一列中對齊,以達到相同的縮排級別。僅憑肉眼很難看出這一點。縮排 Ansible 任務中的其他行也很重要。

驗證任務列表縮排相同

  • 將游標放在列表項的第一個字元上。
  • 按下 Ctrl+v 進入視覺化塊模式。單詞 VISUAL BLOCK 將出現在螢幕底部。
  • 使用箭頭鍵高亮顯示單個字元列。你可以驗證每個任務的縮排量是否相同。
  • 使用箭頭鍵向右或向左展開塊,以檢查其它縮排是否正確。

儘管我對其它 Vim 編輯快捷方式很熟悉,但我仍然喜歡使用視覺化模式來整理我想要出來處理的文字。當我在講演過程中演示其它概念時,我的學生將會在這個“對他們而言很新”的文字編輯器中看到一個可以高亮文字並可以點選刪除的工具。