1.快速打开导航栏
在一般模式下,按下,T
2.移动光标
在一般模式下,按下下面的键:
- 上:
K
- 下:
J
- 左:
H
- 右:
L
3.移动光标至上一个单词/下一个单词
一般模式下,按下下面的键
- 上一个单词:
B
- 下一个单词:
W
4.向上一屏/向下一屏
用途:用来将一个文件中的内容分屏显示
一般模式下,按下下面的键:
- 向上一屏:
control+F
- 向下一屏:
control+B
5.选中多行内容
一般模式下,按下下面的键:
shift+V
选中一行内容,并结合J,K
键进行上下的移动,从而选择需要的选中的内容;
按下esc则退出选中
6.选中指定的内容
一般模式下,按下下面的键:
v
开始选中,然后结合H,L
键进行一个字母宽度的光标的左右移动,或者结合W,B
键进行一个单词宽度的光标的左右移动,也可以结合J,K
进行上下行的光标移动,从而进行内容的选中;
按下esc则退出选中
7.复制粘贴
一般模式下,按下面的键:
按照上述的5或6的方式选中内容后,按下Y
键进行复制,再按下P
键进行一次粘贴
如果想要粘贴多次,可以按下数字键+P
键,例如2P
就是粘贴两次
8.撤销修改
一般模式下,按下面的键:
撤销:U
9.搜索文本
一般模式下,先按下/
键进入底线命令模式:
然后输入要搜索的文本名,并按下enter键
例如:/hello
则会搜索相应的带有hello的文本,此时按下enter键,会跳转至第一个带有hello的文本处,再按下N
键就可以跳转到下一个带有hello的文本处;按下shift+N
就可以跳转到上一个hello的文本处
10.打开/关闭历史文件
一般模式下,按下下面的键:
- 查看历史文件:
control+E
结合J,K
键可以上下选择历史文件,按下enter
键即可进入选中的历史文件中 - 关闭历史文件:按下
q
或者:q
可以退出历史文件列表
11.跳转到当前行的行首/行尾
一般模式下,按下下面的键:
跳转到行尾: shift+4
跳转到行首:0
12.快速跳到文件的首行/尾行
一般模式下,按下下面的键:
跳转到首行:GG
跳转到尾行:shift+G
13..快速跳到上一次 / 下一次编辑的地方
一般模式下,按下下面的键:
跳转到上一次编辑的地方:G;
跳转到下一次编辑的地方:G,
14.输入模式
从一般模式切换到编辑模式,有以下几种方法:
- 在光标前输入:一般模式下按下
I
- 在光标后输入:一般模式下按下
A
(意思是append/after) - 在光标的下一行开始输入:
O
(注意不是零) - 在行首增加内容:一般模式下按下
shift+I
- 在行末增加内容:一般模式下按下
shift+A
- 在光标上行增加内容:一般模式下按下
shift+O
(注意:这个操作往往会有500毫秒的延迟)
15.删除
以下删除都以当前光标作为起始位置
在一般模式下,按下下面的键:
- 删除一个字母:
X
- 删除一个单词:
DW
- 删掉一行:
DD
- 删掉多行:
shift+V
, 然后按X
或者D
- 删除指定的内容:参考6,然后按下
X
或者D
注意:
vim认为删除就是剪切,所有被删掉的内容,都会被放到复制缓冲区中)后,就可以粘贴了。
因此X
键和D
键都是剪切的功能,当按下P
键时可以发现粘贴了用X
或D
删除的内容
16.复制一个单词/当前行 并粘贴
一般模式下,按下下面的键:
- 复制一个单词:
YW
- 复制当前行:
YY
- 粘贴:
P
17.查看剪切板中的历史复制文件
一般模式下,按下下面的键:
- 查看剪切板:
,A
- 选择历史文件:
J
,K
来上下选择文件 - 关闭剪切板:
q
或:q
18.分屏
从一般模式切换到底线命令模式,按下下面的键:
- 竖屏分割屏幕:
:VS
(每按下一次VS
就会分割一个屏幕) - 横屏分割屏幕:
:SP
- 保存并退出当前屏幕:
wq
- 不保存并退出当前屏幕:
q!
- 退出全部屏幕:
qa
19.切换窗口
一般模式下,按下下面的键:
- 跳到下一个小窗口:
control+WW
- 跳到某个方向的小窗口:
control+W
然后结合J
,K
,H
,L
选择要跳转到的窗口
20.注释
一般模式下,按下下面的键:
- 选中内容:
shift+V
,并组合J
,K
键进行内容的选中 - 注释:
,CB
21.代码格式化
一般模式下,按下下面的键:
- 选中内容:
shift+V
,并组合J
,K
键进行内容的选中 - 格式化:
=
这样就可以将代码进行对齐
注意:不是100%好用。 因为有的代码本身就是不完整的
例如html文件中双标签少写了一个,可能就无法对齐
22.自动补全
进入编辑模式,按下下面的键:
- 自动补全:
control+N
- 取消补全:自动补全后再次按下
control+N
例如:
先在编辑模式下打了一个befor
,此时按下control+N
就会自动补全为before_action
23.快速跳到当前光标所属文件
用途:
在 Rails的路由或者视图文件中使用
- 在 View 中, 快速跳到一个 partial文件
- 在 config/routes.rb中通过resources跳到controller文件
在一般模式下,按下下面的键:
快速跳到当前光标所属文件:GF
意思就是go to file
24.显示/隐藏行数
用途:
- 在复制代码的时候,我们有时候不想复制前面的行数序号,那么可以将其隐藏
- 当想要看代码的行数时,也可以将其显示出来
一般模式下,按下下面的键:
- 显示行数:
:set number
- 取消显示行数:
:set no number
25.折叠/取消折叠过长的行
一般模式下,按下下面的键:
- 折叠:
:set wrap
- 取消折叠:
:set nowrap
26.删除当前行并进入输入模式
一般模式下,按下shift + c
即可立即清除当前行,并可以直接输入文字
27.展开当前文件夹下的所有文件
一般模式下,选择相应的文件夹,按下shift + O
即可展开当前文件夹下的所有文件(子文件夹也会全部展开)
如果是不展开子文件夹,那么使用O
而不是shift + O
28.字母大小写的切换
一般模式下,选中字母,按下shift + ~
即可将选中的大写字母切换成小写,或将小写字母切换成大写
29.进入目录
一般模式下,选中相应的文件夹,按下T
键
30.替换
一般模式下,选中文件中相应的内容,按下shift + :
这里举个例子:
...
<%= yield %>
...
我想把yield替换成yes,那么操作如下:
(1)选中yield
(2)输入:s/yield/yes
即可将yield替换成yes
注意:
对于一些特殊符号,如英文的/
,.
等,我们还需要使用转义符号\
例如,我们如果将yield转换成/yield那么第(2)步要写成:
:s/yield/\/yield
如果再想从/yield
转回yield,那么要写成:
:s/\/yield/yield
31.注释后台代码
选中代码后,按下, + C + B
键
32.去掉注释
选中代码后,有两种方式:
方案1:
(1)输入:s,#
方案2:
(1)输入:s/#/
注意:
方案2中第二个/
后面跟一个空格,代表将#替换成空格
32.行间跳转
一般模式下,按下数字键 + J/K
例如从当前位置向上跳转9行,输入9 + K
从当前位置向下跳转7行,输入7 + J
33.将光标所在的行置于页面中间,方便阅读
一般模式下,按下zz
键
34.将光标所在的行置于页面最顶端,方便阅读段落,代码等
一般模式下,按下zt
键
35.将光标所在的数字进行加1和减1操作,支持负数
一般模式下:
按下ctrl + a
可以对数字进行加1
按下ctrl + x
可以对数字进行减1
36.删除某个字符后的所有内容
一般模式下:
光标移动到某个字符后,按下shift + c