Vim的哲學
Vim不同于其他文本編輯器的特點是, 把文檔當做一個對象, 使用指令對這個對象進行操作.
Vim誕生于早期沒有GUI界面的年代, 基于指令行的文本編輯器, 或者說基于黑視窗, 面向的群體是程式員, 是以一切必須基于指令.
是以, 必須了解的是Vim的流程是不同于其他GUI界面的文本編輯器的. 沒有那麼多可視化按鈕, 可以友善的點點點, 很多指令都是必須要記下來的.
如何很好的記住這些指令, 這是學好Vim的關鍵.
大道至簡, Vim被設計成很簡單的操作. 常用的操作用一個手都能數清.
學會Vim就是要學會這5個以内的指令, 可以解決90%的使用場景.
在我看來, Vim就是平時不友善用GUI的時候, 用一下, 不用知道的太多, 學的太多也是個浪費.
生命的時間很短, 沒有必要學一些太偏的騷操作.
Vim的簡單操作
Vim的第一個模式就是指令模式, 而且是進入Vim後的預設模式. 在這個指令模式下, 不能直接輸入字元到文檔中.
前面說過Vim把一個文檔當做一個對象. 是以要使用指令對這個對象進行操作.
字元是最基本的操作機關, 光标所在的位置就是目前的被操作的字元. 對字元的操作有最簡單的是删除, 按x鍵.
其次的操作機關是行.
最常用的指令
set 指令
在指令行模式下, set 是一個非常高頻的指令.
- set nu/nonu: 顯示/隐藏行号, 預設是隐藏的
- set hlsearch: 設定搜尋高亮, 這個和下面的搜尋有關, 找到搜尋結果後, 高亮顯示.
搜尋
-
/ABC: 搜尋, 配合搜尋 n:查找下一個, N:查找上一個.
需要注意的是:
/
是大小寫敏感的搜尋.
輸入完帶搜尋單詞, 要先按一下 Enter 鍵, 才能開始搜尋.
- set hlsearch: 設定搜尋高亮, 找到搜尋結果後, 自動高亮顯示.
儲存常用 vim 配置
在~目錄下, 建立檔案 .vimrc , 每行輸入一個指令行. 新打開的 vim 視窗就會自動先加載這些指令.
一條指令執行多次相同操作
這是最重要的一條技巧, 這是 vim 的靈魂.
如果你要重複執行 N 次操作, 比如删除目前光标所在字元. 按 Nx.
光标級操作
删除目前光标所在的字元: x.
行操作
-
行跳轉: G
跳轉到第 10 行, 按 10G; 跳轉到最後一行, 按 G.
-
行拷貝: yy
粘貼用 p.
- 行剪切(等于行删除): dd
撤銷和回退操作
u: undo, 撤銷
ctrl + r: redo, 重做.
查找和替換
在指令行下, 輸入 :LNE1,LINE2s/REPLACE/TO_REPLACE/g 剛好可以. 這個
s
不能丢.
這個指令有點長,一般人應該不會怎麼使用的吧。
不常用的指令
可視化模式, 按v進入. 大片的選擇.
閱讀翻頁指令
ctrl + u/d 向上/下翻半頁
ctrl + f/b 想下/上翻一頁.
為什麼f/b翻的頁數多呢? f, forward, b, back, 這兩牛逼就完了.
參考
[1]【Linux】Vim編輯器-批量注釋與反注釋
https://blog.csdn.net/xiajun07061225/article/details/8488210