跳轉到內容

學習 vi 編輯器/高階任務

來自華夏公益教科書,開放的書籍,為開放的世界

學習 vi 編輯器: 熟悉基本任務讓您的工作更輕鬆高階任務細節Vi 克隆 (Vim基本導航模式提示和技巧程式設計師需要了解的有用資訊增強 VimVim 在 Windows 上VimL 指令碼語言, Vile, BB vi)vi 參考

複製和貼上

[編輯 | 編輯原始碼]

複製和貼上任務使用三個鍵完成,<y>(代表“yank”),<d>(代表“delete”)和<p>(代表“paste”)。 通常,您鍵入<y><d>告訴 vi 您要開始 yank 或刪除文字的位置。 然後您需要使用游標移動或其他命令告訴 vi 在哪裡停止。

您也可以簡單地使用鍵<v>進入可視模式。 然後您可以透過移動游標鍵來突出顯示文字。 最後按<y>將文字複製到剪貼簿。 然後按<p>貼上。

一個單詞

[編輯 | 編輯原始碼]

要刪除單個單詞,將游標移到第一個字母,然後鍵入<d><w>。 要 yank 單個單詞,將游標移到第一個字母,然後鍵入<y><w>

其他方法

[編輯 | 編輯原始碼]

移到最後一個字母后面的字元,然後鍵入<d> <b>

要刪除像“can't”這樣的帶有撇號的單詞,移到第一個字元,然後鍵入<d><W>。 注意大寫 W。 這告訴 vi 一直移到單詞後面的第一個空格字元。

同樣,試試 dB。

要刪除單個行,鍵入<d><d>

其他數量

[編輯 | 編輯原始碼]

vi 的一大優勢是它允許您選擇大量文字,而無需將手移到滑鼠上。

鍵入<m><a>。 這將標記游標所在的位置為標記a。 從現在開始,您可以隨時鍵入<`><a>返回此位置。 (`a 表示“移動到標記為a的字元”)

現在移到其他位置。 鍵入<d><`><a>。 這將刪除從當前位置到標記為a的位置的所有內容。

請注意,您可以使用幾乎任何鍵代替此示例中使用的<a>。 例如,您可以使用<m><t>標記一段的頂部,或<m><b>標記一段的底部。 這些助記符僅存在於使用者腦海中——vi 不在乎t代表頂部b代表底部。 Vi 將記住所有唯一的書籤,允許使用者輕鬆快捷地在它們之間跳轉。 一些使用者發現使用<m><m>作為臨時書籤很方便,因為它可以非常快地鍵入。

到一行結尾或開頭

[編輯 | 編輯原始碼]

<d><$><d><^>

到檔案結尾或開頭

[編輯 | 編輯原始碼]

<d><G><d><1><G>

到下一個模式出現的位置

[編輯 | 編輯原始碼]

<d>/myPattern

這在使用 d/< 編輯 HTML 檔案時特別有用。

調整螢幕

[編輯 | 編輯原始碼]

vi 作為一款視覺化的螢幕定向編輯器,提供了一些有用的命令來重新繪製或調整螢幕,以防您發現自己身處不想去的地方。

如果您在 Unix shell 中執行,某些後臺程序可能會寫入同一個終端。 這會擾亂 vi 的屏幕布局。 為了強制 vi 重新繪製整個螢幕,請按<Ctrl-L><Ctrl-R>。 這兩個命令執行相同的操作。

如果您想調整當前顯示的內容,那麼<z>命令相當有用。 它就像瑞士軍刀一樣,具有相當複雜的語法。

   [/pattern/][m]z[n](<CR>|.|-)

([ ... ] 表示可選專案,(...|...) 表示替代方案)

在詳細解釋語法之前,這裡是一些該命令的常見應用。

滾動螢幕,使當前行成為螢幕中間的行。 游標停留在該行上。

   <z><.>

滾動螢幕,使當前行成為螢幕頂部的行。

   <z><CR>

滾動螢幕,使當前行成為螢幕底部的行。

   <z><->

如果給定/pattern/ 或數字 m,則在調整後游標將進一步移動。/pattern/ 表示將游標移動到該模式的第一個匹配項。m 表示將游標移動到螢幕上的第 m 行。例如,

   /while/z<CR>

首先滾動螢幕,使當前行成為螢幕頂部的行,然後將游標從該位置開始移動到文字中的第一個 "while"。

數字 n 是一個比較晦澀的引數。如果提供,它告訴 vi 行為就像螢幕只有 n 行高一樣。結果是,只調整 n 行,而螢幕上的其他行會被忽略或清除,這在速度較慢的終端上可能有用,可以避免不必要的螢幕重繪。


學習 vi 編輯器: 熟悉基本任務讓您的工作更輕鬆高階任務細節Vi 克隆 (Vim基本導航模式提示和技巧程式設計師需要了解的有用資訊增強 VimVim 在 Windows 上VimL 指令碼語言, Vile, BB vi)vi 參考

華夏公益教科書