Vim常用命令

dahlin
14
2020-04-01

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
动物装饰