來點新鮮的,部份我收集整理的:
-
永遠不要用
CTRL
-
C
代替
<
ESC
>
完全不同的含義
,容易錯誤中斷當前指令碼
-
很多人使用
CTRL
-
[ 代替
<
ESC
>
,左手小指
CTRL
,右手小指
[ 熟練後很方便
-
SecureCRT
中使用
Vim
8
內嵌終端如看到奇怪字元
,使用
:set
t_RS
=
t_SH
=
解決
-
SecureCRT
中使用
NeoVim
如看到奇怪字元
,使用
:set
guicursor
=
解決
-
* 和
# (以及
g
*/g
#)是十分重要的尋找命令
-
多使用
ciw
,
ci
[,
ci
", ci( 以及 diw, di[, di"
,
di
(
命令來快速覆寫
/刪除文本
-
使用
@: 重復執行上一次
Ex
命令
,比如
:nohl
<
cr
>,
@:,
@:,
@:
-
SHIFT
相當於移動加速鍵
, w
b
e
移動光標很慢
,但是
W
B
E
走的很快
-
自己要善於總結新技巧
,比如移動到行首非空字元時用
0
w 命令比
^ 命令更容易輸入
-
在空白行使用
dip
命令可以刪除所有臨近的空白行
-
在空白區使用
viw
可以選擇所有空白字元
-
縮排時使用
>
8
j >
} <
ap
=
i
} ==
會方便很多
-
越重復的工作
,越需要努力的將其自動化
-
編程時可以使用
[{ 和
]} 快速在函式間移動
-
插入模式下
,當你發現一個單詞寫錯了
,應該多用
CTRL
-
W
這比
<
BackSpace
>
快
-
插入模式下
,CTRL
-
X
CTRL
-
F
可以方便的補全當前目錄的檔名
-
插入模式下
,可用
CTRL
-
V
u
輸入
unicode
,如
<
C
-
V
>
u1234
輸入16進制
unicoode
-
插入模式下
,CTRL
-
R
=
可以用來簡單計算
,比如
<
C
-
R
>=
12
*3
.5
/10
<
cr
>
會插入
4
.2
-
如果在插入模式下移動光標
,那麽就不能使用
. 來重復之前的插入了
-
y
d
c
命令可以很好結合
f
t
和
/X 比如 dt) 和 y/
end
<
cr
>
-
c
d
x
命令會自動填充寄存器
"1 到 "
9
,
y
命令會自動填充
"0 寄存器
-
用
v
命令選擇文本時
,可以用
o
掉頭選擇
,有時很有用
-
ca
)
和
yi
} 很容易記憶
,但是他們等同於
cab
yiB
後者很容易輸入
-
寫文章時
,可以寫一段程式碼塊
,然後選中後執行
:!
python
程式碼塊就會被替換成結果
-
搜尋後經常使用
:nohl
來消除高亮
,使用很頻繁
,可以
map
到
<
BackSpace
>
上
-
搜尋時可以用
CTRL
-
R
CTRL
-
W
插入光標下的單詞
-
Vim
有一千零一種移動光標的方法
,有時候就連
H
M
L
也是很有用的
-
不需要記憶上一次選擇區域
,'< 和 '
>
可以跳到上次選擇的開始和結束
-
如需編輯同一個檔的不同地方
,可以用
:vs
或者
:split
將檔分為兩個視窗
-
有六種方法來改變一個布爾設定
: :set
list
nolist
list
!
invlist
list
? list
&
-
對映按鍵時
,應該預設使用
noremap
,只有特別需要的時候使用
map
-
當你覺得做某事很低效時
,你應該停下來
,u
u
u
u
然後思考正確的高效方式來完成
-
用
y復制文本後
,命令模式中
CTRL
-
R
然後按雙引號
" 可以插入之前復制內容
-
如果你想全螢幕閱讀幫助的話
,使用
:tab
help
<
keyword
>
命令
-
貼上文本時應該思考下前後是否包含空格
-
:x
和
ZZ
命令和
:wq
類似
,但是不會寫入沒有改變的檔
,並且更快
-
多閱讀
:h
index
學習新的快捷鍵
,讓你更加高效
-
Vim
幫助系統裏有一個使用技巧集合
,使用
:h
tips
閱讀
-
Windows
下的
GVim
可以用
CTRL
-
INSERT
和
SHIFT
-
INSERT
作業系統剪貼簿
-
思考題
:知道下面控制程式碼
^I
^M
^J
^[ ^H
^@ 分別代表什麽意思麽
?
更多技巧見:
https:// github.com/skywind3000/ awesome-cheatsheets/blob/master/editors/vim.txt
全網最全的 Vim 速查表