幾點經驗:
- 如果要將vim向vscode對齊,沒有外掛是做不到
- vim的外掛要編寫眾多的配置檔案、並且有部分外掛挑平臺;像vscode那樣基本上開箱即用比較困難
- 剛開始學習還能折騰一下,到最後發現:vim最本質的是沒有外掛的本體。很多時候沒有條件(或不想)配置外掛,而能否熟練操作本體才是最關鍵的!
這篇文章將從四個方面:編輯、window、buffer、tabine,總結自己常用的vim自帶的快捷鍵或指令。其中,後三個視窗相關的快捷鍵也比較相似,主要是理清其設計思路。
一、編輯:增刪改查
目的:補充幾個好用、但可能不常用的快捷鍵。
增
刪
改
整行的格式調整:
<<, >>
整行向左(右)縮排。>%, <%
把{}, (), []
包裹的內容向右(左)縮排。:le :ce :ri
分別實現當前行居左、中、右對齊。
不用進入Insert模式、一些快速的修改:
~
對當前游標字元進行大小寫反轉;u
為撤銷一次,U
為撤銷所有修改,<C-r>
為反撤銷。.
: 修改完之後移動至下一個單詞處,按.
可重複相同操作。
比如
test test
修改為st test
,移動到第二個test
處在normal
下按點,則會重複相同的操作。
除了
I
為在行首插入,A
為在行尾插入;o
為在下方插入一行並進入插入模式,O
為上一行。
查
游標移動的一些小技巧,能夠幫你更快地定位到目標位置:
-
%
在匹配的括號對之間跳轉。 -
0
和^
都能實現移動到行首,區別在於^
是移動到行首第一個字元。 -
g;
跳轉到上次修改的位置,g,
跳轉到下次修改的位置。 -
M
將游標移動到螢幕中部,L
為螢幕底部,H
為螢幕頂部。 -
gd
跳轉到區域性變數定義處(這類似於查詢,和 ctags 是有區別的),gD
為全域性查詢; -
:q
為退出,而q:
為:進入輸入歷史,相當於:history
。 -
q
進入宏記錄模式,輸入字母會把記錄的內容存到當前字母下,按q
退出。
二、window
:sp [filename]
上下分割檔案,預設檔名會 clone 當前檔案,同<C-w>s
,:vs
為左右分割,同<C-w>v
。:shell
會暫時退出 vim 介面到shell
,使用完後輸入exit
退出;:terminal zsh
預設會水平開啟終端,退出需要先exit
或<C-d>
,然後關閉此buffer
即可。