Appearance
快如闪电:让移动再次快起来 make move faster again
前面几天学到了光标一些的“快捷”移动方式,如 hjkl
b
w
e
等等,但是在真实的使用中,他们的快捷确实是需要打上双引号,因为等我们打开动则上千行的 屎山 代码时,这些移动光标的方法就捉襟见肘了;这一节,我们就要祭出 vim 的一个大杀器,让我们的光标移动飞速起来!
给我滚!
先来看看让页面滚动起来的指令:
- 向下滚动一屏:
ctrl + f
- 向上滚动一屏:
ctrl + b
- 向下滚动半屏:
ctrl + d
- 向上滚动半屏:
ctrl + u
- 向下滚动一行:
ctrl + e
, 光标不会移动,只是屏幕滚动 - 向上滚动一行:
ctrl + y
, 光标不会移动,只是屏幕滚动
这时候,我们就可以愉快地在 屎山 代码中快速移动了。可是问题又来了,这几个指令动则半个屏幕移动,要不就一行行移,有没有在这些范围内的更适合平时使用的呢?
答案是:没有。
但不代表不可以,这时我们就要用老办法 -- 修改配置来达成需求了。
打开 vscode setting.json
,在 vim.visualModeKeyBindings
和 vim.normalModeKeyBindings
中添加如下设置:
"vim.normalModeKeyBindings": [
...
{
"before": ["J"],
"after": ["5", "j"]
},
{
"before": ["K"],
"after": ["5", "k"]
}
...
],
"vim.visualModeKeyBindings": [
...
{
"before": ["J"],
"after": ["5", "j"]
},
{
"before": ["K"],
"after": ["5", "k"]
}
...
],
这里的配置是把 J
K
映射成每次跳五行的效果,当然,如果你觉得不合适也可以根据自己的需求更改。配置完后,就可以在方便地跳转了。
光标位置
有时候在我们的光标移动到要编辑的行时,可能刚好这一行在屏幕的顶部或底部,或者需要跳转到文件的头或尾,这里有更快捷的指令:
- 将当前行置于屏幕中央:
zz
- 将当前行置于屏幕顶部:
zt
,t 即 top - 将当前行置于屏幕底部:
zb
,b 即 bottom - 跳到文件首:
gg
- 跳到文件尾:
G
如果是以上所有的命令都无法让你快速跳到要去的行,这时候就有一个终极方法:
- 行数 +
gg
/G
:跳到指定行;只要你知道行数,就可以准确无误地跳到那一行,在调试或查看报错位置时特别有用。比如跳到 1024 行,输入1024 gg
,这时候再搭配zz
,让当前行置于屏幕中间,然后就可以愉快 coding 了~
小练习
这一天没有练习,去屎山里跳动吧!go and get it!