習(xí)慣了使用 vim 后背亥,便想著盡可能地使用 vim 旧噪,而工作學(xué)習(xí)又離不開 VS Code芯肤。所幸 VS Code 也支持 vim,開開心心地安裝好 vim 模擬器插件后遍略,卻發(fā)現(xiàn) vim 中的行跳轉(zhuǎn)只能在實(shí)際行之間進(jìn)行惧所。
VS Code 中的 vim 模擬器
如下圖所示,如果 VS Code 中啟用 line wrap
后绪杏,同一行會(huì)自動(dòng)在屏幕上顯示多行下愈,但是按下 vim 中行間移動(dòng)鍵 j
,k
后,光標(biāo)只能在實(shí)際行之間跳轉(zhuǎn)蕾久。這對(duì)寫代碼沒什么影響势似,因?yàn)楹苌儆羞@么長(zhǎng)一行的代碼,但對(duì)于寫 Latex 或 Markdown 文章來說僧著,這樣就難以快速定位想寫作的位置叫编。
網(wǎng)上搜索一番,才發(fā)現(xiàn) vim 中會(huì)區(qū)分實(shí)際行和屏幕行霹抛,相應(yīng)的移動(dòng)命令也有所不同搓逾。
命令 | 光標(biāo)動(dòng)作 |
---|---|
j | 向下移動(dòng)一個(gè)實(shí)際行 |
gj | 向下移動(dòng)一個(gè)屏幕行 |
k | 向上移動(dòng)一個(gè)實(shí)際行 |
gk | 向上移動(dòng)一個(gè)屏幕行 |
為了跳轉(zhuǎn)方便,可以把gj/gk
映射成j/k
杯拐,可以在 VS Code 中作出以下設(shè)置霞篡。
-
按下
Ctrl+Shift+P
打開命令面板世蔗,并選擇 Open Settings (JSON);
image.png 添加鍵位映射:將以下片段加入設(shè)置中朗兵。
"vim.normalModeKeyBindingsNonRecursive": [
{
"before": ["j"],
"after": ["g", "j"]
},
{
"before": ["k"],
"after": ["g", "k"]
}
]