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