Vim常用命令
我汇总的一些vim常用的指令和按键操作,和一些NERDTree菜单插件的命令,尤其是NERDTree,这个vim插件装上之后,感觉完全可以把vim当IDE来用,实在是我辈码农的装逼利器。
1. 功能指令
按键 |
解释 |
:q! |
不保存并推出 |
:wq |
保存并退出 |
:x |
保存并退出 |
:w |
保存 |
:w b.txt |
另存为b.txt |
:set nu |
显示行号 |
Ctrl+w+h |
多窗口编辑跳转; h,l,j,k |
:close |
关闭当前窗口 |
:split sec.txt |
水平分割窗口打开新文件 |
:vsplit se.txt |
垂直分割窗口 |
:!ls |
执行shell命令 |
2. 插入模式按键
按键 |
解释 |
a |
当前光标的后面 |
A |
当前段落的段尾 |
i |
当前光标的前面 |
I |
当前段落的段首 |
o |
当前行的后面创建空白行 |
O |
当前行的前面创建空白行 |
3. 光标操作
按键 |
解释 |
h |
左移一位 |
j |
下移一行 |
k |
上移一行 |
l |
右移一位 |
gg |
移到文件首行 |
G |
移动文件末尾 |
nG |
移到第n行 |
^ |
移到当前行的首字符 |
$ |
移到当前行的尾字符 |
fx |
移动到当前行的下一个x字符处 |
Fx |
移动到当前行的上一个x字符处 |
W |
向右移动一个单词 |
nw |
向右移动n个单词 |
b |
向左移动一个单词 |
nb |
向左移动n个单词 |
:n |
移动到第n行 |
n |
往下移动n行 |
Ctrl+f |
往下移动一页 |
Ctrl+b |
往上移动一页 |
Ctrl+d |
往下移动半页 |
Ctrl+u |
往上移动半页 |
4. 编辑文档
按键 |
解释 |
x |
向后删除一个字符 |
X |
向前删除一个字符 |
dd |
删除一行 |
ndd |
删除n行 |
d$ |
删除光标至行尾的内容 |
dw |
删除一个单词 |
J |
删除换行符,两行合并成一行 |
u |
撤销上一步操作 |
Ctrl+r |
重做操作 |
rx |
将光标当前字符替换为x |
yy |
复制当前行 |
nyy |
复制连同光标所在行内的n行文字 |
p |
黏贴至当前行之后 |
P |
黏贴在当前行之前 |
5. 查找替换
按键 |
解释 |
/ |
/find n跳转到下一个匹配处N上一个 |
? |
?find N跳转到下一个匹配处n上一个 |
: s/root/admin/ |
当前行第一个出现的root替换为admin |
: s/root/admin/g |
当前行中出现的所有root替换为admin |
: 3,5 s/sbin/bin/g |
第三行至第五行之间的所有sbin替换为bin |
: 1,$s/word1/word2/g |
将第1行到最后一行的所有world1替换为world2 |
: %s/nologin/fault/g |
将所有行的nologin替换为fault |
6. NERDTree命令
按键 |
解释 |
:NERDTree 显示目录树 |
|
:tabnew [++opt选项] [+cmd] 文件 |
建立对指定文件新的tab |
:tabc |
关闭当前的 tab |
:tabo |
关闭所有其他的 tab |
:tabs |
查看所有打开的 tab |
:tabp |
前一个 tab |
:tabn |
后一个 tab |
ctrl+w |
光标自动在左右侧窗口切换 |
ctrl + w + h |
光标 focus 左侧树形目录 |
ctrl + w + l |
光标 focus 右侧文件显示窗口 |
ctrl + w + w |
光标自动在左右侧窗口切换 |
ctrl + w + r |
移动当前窗口的布局位置 |
gT |
前一个 tab |
gt |
后一个 tab |
o |
在已有窗口中打开文件、目录或书签,并跳到该窗口 |
go |
在已有窗口 中打开文件、目录或书签,但不跳到该窗口 |
t |
在新 Tab 中打开选中文件/书签,并跳到新 Tab |
T |
在新 Tab 中打开选中文件/书签,但不跳到新 Tab |
i |
split 一个新窗口打开选中文件,并跳到该窗口 |
gi |
split 一个新窗口打开选中文件,但不跳到该窗口 |
s |
vsplit 一个新窗口打开选中文件,并跳到该窗口 |
gs |
vsplit 一个新 窗口打开选中文件,但不跳到该窗口 |
! |
执行当前文件 |
O |
递归打开选中 结点下的所有目录 |
x |
合拢选中结点的父目录 |
X |
递归 合拢选中结点下的所有目录 |
e |
Edit the current dif |
双击 |
相当于 NERDTree-o |
中键 |
对文件相当于 NERDTree-i,对目录相当于 NERDTree-e |
D |
删除当前书签 |
P |
跳到根结点 |
p |
跳到父结点 |
K |
跳到当前目录下同级的第一个结点 |
J |
跳到当前目录下同级的最后一个结点 |
k |
跳到当前目录下同级的前一个结点 |
j |
|
C |
将选中目录或选中文件的父目录设为根结点 |
u |
将当前根结点的父目录设为根目录,并变成合拢原根结点 |
U |
将当前根结点的父目录设为根目录,但保持展开原根结点 |
r |
递归刷新选中目录 |
R |
递归刷新根结点 |
m |
显示文件系统菜单 |
cd |
将 CWD 设为选中目录 |
I |
切换是否显示隐藏文件 |
f |
切换是否使用文件过滤器 |
F |
切换是否显示文件 |
B |
切换是否显示书签 |
q |
关闭 NerdTree 窗口 |
? |
切换是否显示 Quick Help |