1. 程式人生 > 資訊 >華為 Mate 20 Pro 推送鴻蒙 HarmonyOS 2.0.0.165 更新:控制/通知中心左右滑動快速切換

華為 Mate 20 Pro 推送鴻蒙 HarmonyOS 2.0.0.165 更新:控制/通知中心左右滑動快速切換

Vim 編輯器

什麼是Vim編輯器

im 通過一些外掛可以實現和IDE一樣的功能!

Vim是從 vi 發展出來的一個文字編輯器。程式碼補完、編譯及錯誤跳轉等方便程式設計的功能特別豐富,在程式設計師中被廣泛使用。尤其是Linux中,必須要會使用Vim(檢視內容,編輯內容,儲存內容!)

簡單的來說, vi 是老式的字處理器,不過功能已經很齊全了,但是還是有可以進步的地方。

vim 則可以說是程式開發者的一項很好用的工具。

所有的 Unix Like 系統都會內建 vi 文書編輯器,其他的文書編輯器則不一定會存在。

連 vim 的官方網站 (http://www.vim.org) 自己也說 vim 是一個程式開發工具而不是文書處理軟體。

vim 鍵盤圖:

4.3.2、三種使用模式

基本上 vi/vim 共分為三種模式,分別是命令模式(Command mode)輸入模式(Insert mode)底線命令模式(Last line mode)。這三種模式的作用分別是:

  • 命令模式:使用者剛剛啟動 vi/vim,便進入了命令模式。

    新建一個檔案:# vim saxon.txt

此狀態下敲擊鍵盤動作會被Vim識別為命令,而非輸入字元。比如我們此時按下i,並不會輸入一個字元,i被當作了一個命令。

以下是常用的幾個命令:

  • i 切換到輸入模式,以輸入字元。
  • x 刪除當前游標所在處的字元。
  • : 切換到底線命令模式,以在最底一行輸入命令。 如果是編輯模式,需要先退出編輯模式!ESC

若想要編輯文字:啟動Vim,進入了命令模式,按下i,切換到輸入模式。

命令模式只有一些最基本的命令,因此仍要依靠底線命令模式輸入更多命令。

  • 輸入模式:在命令模式下按下 i 就進入了輸入模式。

    在輸入模式中,可以使用以下按鍵:

    • 字元按鍵以及Shift組合,輸入字元
    • ENTER,回車鍵,換行
    • BACK SPACE,退格鍵,刪除游標前一個字元
    • DEL,刪除鍵,刪除游標後一個字元
    • 方向鍵,在文字中移動游標
    • HOME/END,移動游標到行首/行尾
    • Page Up/Page Down,上/下翻頁
    • Insert,切換游標為輸入/替換模式,游標將變成豎線/下劃線
    • ESC,退出輸入模式,切換到命令模式
  • 底線命令模式

    :在命令模式下按下:(英文冒號)就進入了底線命令模式。游標就移動到了最底下,就可以在這裡輸入一
    些底線命令了!

    底線命令模式可以輸入單個或多個字元的命令,可用的命令非常多。

    在底線命令模式中,基本的命令有(已經省略了冒號):wq

    • q 退出程式
    • w 儲存檔案

按ESC鍵可隨時退出底線命令模式。

簡單的說,我們可以將這三個模式想成底下的圖示來表示:

簡單的說,我們可以將這三個模式想成底下的圖示來表示:

4.3.3、完整的演示說明

新建或者編輯檔案,按 i 進入編輯模式,編寫內容,編寫完成後退出編輯模式,esc,退出之後進入底線命令模式 : wq 儲存退出!

4.3.4、Vim 按鍵說明

除了上面簡易範例的 i, Esc, :wq 之外,其實 vim 還有非常多的按鍵可以使用。

第一部分:一般模式可用的游標移動、複製貼上、搜尋替換等

按鍵 說明
h 或向左方向鍵(←) 遊標向左移動一個字元
j 或向下方向鍵 (↓) 遊標向下移動一個字元
k 或向上方向鍵 (↑) 遊標向上移動一個字元
l 或向右方向鍵 (→) 遊標向右移動一個字元
[ctrl]+[f] 螢幕向下移動一頁,相當於[Page Down](常用)
[ctrl]+[b] 螢幕向上移動一頁,相當於[Page Up](常用)
[ctrl]+[d] 螢幕向下移動半頁
[ctrl]+[u] 螢幕向上移動半頁
數字+[Space] n 表示數字,按下數字後再按空格鍵,遊標會向右移動到這一行的第 n 個字元。
功能鍵[Home]或 0 遊標移動到這一行的第一個字元處
功能鍵[End]或 $ 遊標移動到這一行的最後一個字元處 (常用)
H 遊標移動到這個螢幕最上方那一行的第一個字元
M 遊標移動到這個螢幕中央那一行的第一個字元
L 遊標移動到這個螢幕最下方那一行的第一個字元
G 遊標移動到這個檔案的最後一行 (常用)
nG n 為數字。遊標移動到這個檔案的第 n 行
gg 遊標移動到這個檔案的第一行 (常用)
數字+[Enter] n 為數字。遊標向下移動 n 行 (常用)
替換搜尋
/word 向光標之下尋找一個名稱為 word 的字串。例如要在檔案內搜尋 vbird 這個字串,就輸入 /vbird 即可!(常用)
?word 向光標之上尋找一個字串名稱為 word 的字串。
n 這個 n 是英文按鍵。代表重複前一個搜尋的動作。舉例來說, 如果剛剛我們執行 /vbird去向下搜尋 vbird 這個字串,則按下 n 後,會向下繼續搜尋下一個名稱為 vbird 的字串。如果是執行 ?vbird 的話,那麼按下 n 則會向上繼續搜尋名稱為 vbird 的字串!
N 這個 N 是英文按鍵。與 n 剛好相反,為『反向』進行前一個搜尋動作。例如 /vbird後,按下 N 則表示『向上』搜尋 vbird 。
按鍵 說明
[Del] 或 x 向後刪除一個字元 (常用)
X 向前刪除一個字元 (常用)
nx n 為數字,連續向後刪除 n 個字元。舉例來說,我要連續刪除 10 個字元, 『10x』。
dd 刪除遊標所在的那一行 (常用)
ndd n 為數字,刪除遊標所在的那一行往下數 的 n 個行,例如 20dd 則是刪除 20 行 (常用)
d1G 刪除遊標所在的那行到第一行的所有資料
dG 刪除遊標所在的那行到最後一行的所有資料
d$ 刪除遊標所在處到該行的最後一個字元
d0 是數字 0,刪除遊標所在處到該行的第一個字元
yy 複製遊標所在的那一行 (常用)
nyy n 為數字, 複製遊標所在的那一行往下數 n 行 (常用)
y1G 複製遊標所在行到第一行的所有資料
yG 複製遊標所在行到最後一行的所有資料
y0 複製遊標所在的字元到該行行首的所有資料
y$ 複製遊標所在的字元到該行行尾的所有資料
p 將已複製的資料貼上在遊標所在的那一行的下一行 (常用)
P 將已複製的資料貼上在遊標所在的那一行的上一行,原來遊標所在的那一行會被推後一行 (常用)
J 將遊標所在的行與下一行的資料合併為一行
u 復原前一個動作(常用)
[ctrl]+r 重做上一個被撤銷的操作 (常用)
. 這是小數點,表示重複前一個操作 (常用)

第二部分:一般模式切換到編輯模式的可用的按鈕說明

進入輸入或取代的編輯模式
i, I 進入輸入模式(Insert mode):i 為『從目前游標所在處輸入』, I 為『在目前所在行的第一個非空格符處開始輸入』。(常用)
a, A 進入輸入模式(Insert mode):a 為『從目前游標所在的下一個字元處開始輸入』,A 為『從游標所在行的最後一個字元處開始輸入』。(常用)
o, O 進入輸入模式(Insert mode):這是英文字母 o 的大小寫。o 為『在目前游標所在的下一行處輸入新的一行』;O 為在目前游標所在處的上一行輸入新的一行!(常用)
r, R 進入取代模式(Replace mode):r 只會取代游標所在的那一個字元一次;R會一直取代游標所在的文字,直到按下 ESC 為止;(常用)
[Esc] 退出編輯模式,回到一般模式中(常用)

第三部分:一般模式切換到指令行模式的可用的按鈕說明

按鍵 說明
:w 將編輯的檔案寫入硬碟 (常用)
:w! 若檔案屬性為『只讀』時,強制寫入該檔案。不過,到底能不能寫入, 還是跟你對該檔案的檔案許可權有關啊!
:q 離開 vi (常用)
:q! 若曾修改過檔案,又不想儲存,使用 ! 為強制離開不儲存檔案。注意一下,那個驚歎號 (!) 在vi 當中,常常具有『強制』的意思
:wq 檔案寫入硬碟後(即儲存)離開 vi (常用)
:wq! 檔案強制寫入硬碟後(即儲存)離開 vi
ZZ 大寫字母 Z,如果檔案沒有修改,則直接離開;如果檔案被修改,則儲存後離開
:w [filename] 將當前檔案另存為另一個檔案,這個新檔案的儲存路徑為當前路徑
:r [filename] 在當前檔案中讀入另一個檔案的資料,插入到當前遊標所在列的後面
:n1,n2 w [filename] 將第 n1 行到第 n2 行的資料儲存為新的檔案
:! command 暫時離開 vi 到指令列模式下執行 command 的顯示結果。例如『:! ls /home』即可在 vi 當中看 /home 底下以 ls 輸出的檔案資訊!
:set nu 設定行號,程式碼中經常會使用! 顯示行號,設定之後,會在每一行的字首顯示該行的行號
:set nonu 與 set nu 相反,為取消行號!

以上標註的掌握熟練即可,其與的瞭解或者自己測一測即可,我們平時使用VIM 最多的就是修改下檔案內容而已!