vim的使用方法

如题

vim快捷键使用

本文基于vim教程vimtutor。使用vimtutor zh可以查看中文版教程。

移动光标

1
2
3
4
h 向左
l 向右
j 向下
k 向上

跳转行

1
2
3
4
CTRL+G 查看当前光标行号以及文件名等状态
gg 将光标跳转至第一行
G 将光标跳转至最后一行
xG 将光标跳转至第x

删除文本

1
2
3
4
x 删除当前光标字符
dw 删除当前光标起始处的单词
d$ 删除当前光标处一直到行末的字符,包括当前光标
dd 删除一整行

插入/添加文本

1
2
3
4
5
i 插入 在当前光标
a 添加 在当前光标之后
A 添加 在行末
o 在当前光标下方新建一行并进入编辑模式
O 在当前光标上分新建一行并进入编辑模式

命令和对象

1
2
3
4
w 当前光标-下一个单词起始处
e 当前光标-当前单词结尾
$ 当前光标-行末
0 移动光标到行首

撤销操作

1
2
3
u 撤销一次操作
U 撤销当前行的所有操作
ctrl+R 撤销撤销操作 相当于平时的ctrl+y

复制粘贴操作

1
2
y 复制选中的部分(使用v来选中)
p 粘贴刚刚删除/复制的内容

替换操作

1
2
3
4
5
6
7
r 替换当前字符
R 进入替换模式,一直将当前光标替换为输入的字符,按ESC退出
:s/old/new <回车> 将本行的第一个old替换为new
:s/old/new/g <回车> 将本行的所有old替换为new
:#,#s/old/new/g <回车> #代表行号,此两行之间的所有old都替换为new
:%s/old/new/g <回车> 全文将old替换为new
:%s/old/new/gc <回车> 全文将old替换为new,且每个匹配串会提示是否替换

更改操作

1
2
cw 删除当前光标到当前末尾的内容,并进入编辑模式
ce c$同理

括号匹配

1
% 将光标放在括号上可以跳转到与其匹配的另一个括号

查找操作

1
2
3
4
5
6
/<string> 正向查找字符串
?<string> 逆向查找字符串
/<string>\c 忽略大小写查找字符串
查找时:
n 同一方向查找下一个
N 反方向查找下一个

执行外部命令

1
2
:!<system>
如:!ls查看当前目录下文件

文件操作

1
2
3
4
5
6
7
8
-- 保存 --
:w <file> 将本文件保存为名为<file>的文件
:!rm <file> 删除名为<file>的文件,当然是linux命令
v 选取要保存的区域后 :w <file> 保存选中的文件为<file>

-- 插入 --
:r <file> 将文件名为<file>的文件内容插入到当前光标处
:r !<system> 将命令的执行结果插入到当前光标处

设置类命令

1
2
3
4
5
:set <code> 全局启用
ic 忽略大小写,包括查找、替换等
noic 禁用忽略大小写
hls is 高亮查找的内容
nohlsearch 取消高亮查找的内容

多开窗口

1
CTRL+W 在多vim窗口上下分屏时切换

补全功能

1
2
CTRL+D 列出所有的可补全选项
<TAB> 直接补全为可选项中的第一个

vim的使用方法
http://example.com/2023/08/18/工具使用/vim/
作者
Ltfall
发布于
2023年8月18日
许可协议