小小白祈祷中...

vim 是 Linux/Unix 系统中功能强大的文本编辑器,支持多种模式(如普通模式、插入模式、命令模式),并提供丰富的命令操作,用于编辑、查找、替换、保存等任务。以下是 vim 常用命令及其用法的详解。


启动 vim

打开文件

1
vim 文件名
  • 示例
1
vim example.txt
  • 作用:打开 example.txt 文件。如果文件不存在,则创建一个新文件。

打开多个文件

1
vim 文件1 文件2
  • 示例
1
vim file1.txt file2.txt
  • 作用:同时打开 file1.txtfile2.txt,可以在多个文件之间切换。

打开文件并跳转到指定行

1
vim +行号 文件名
  • 示例
1
vim +10 example.txt
  • 作用:打开 example.txt 并直接跳转到第 10 行。

模式切换

三种主要模式

模式 进入方式 作用
普通模式 默认进入 用于浏览文件、删除文本、复制粘贴等(按 Esc 可回到普通模式)。
插入模式 iao 用于编辑文本内容。
命令模式 : 用于执行命令(如保存、退出、查找、替换等)。

普通模式命令

普通模式用于文件的浏览、编辑、操作等。

移动光标

命令 作用
h 左移光标。
l 右移光标。
j 下移光标。
k 上移光标。
w 移动到下一个单词的开头。
e 移动到当前单词的结尾。
b 移动到上一个单词的开头。
0 移动到行首。
^ 移动到当前行第一个非空字符处。
$ 移动到行尾。
gg 移动到文件开头。
G 移动到文件末尾。
数字G 跳转到指定行(如 10G 跳到第 10 行)。

删除文本

命令 作用
x 删除当前光标所在字符。
dd 删除当前行。
ndd 删除从当前行开始的 n 行(如 3dd 删除 3 行)。
d$ 删除从光标处到行尾的内容。
d0 删除从光标处到行首的内容。

复制、剪切和粘贴

命令 作用
yy 复制当前行。
nyy 复制从当前行开始的 n 行(如 3yy 复制 3 行)。
p 在光标后粘贴内容。
P 在光标前粘贴内容。

撤销与重做

命令 作用
u 撤销上一次操作。
Ctrl + r 重做撤销的操作。

查找

命令 作用
/关键词 向下查找 关键词
?关键词 向上查找 关键词
n 查找下一个匹配项。
N 查找上一个匹配项。

替换

命令 作用
:s/旧文本/新文本 替换当前行第一个匹配的文本。
:s/旧文本/新文本/g 替换当前行所有匹配的文本。
:%s/旧文本/新文本/g 替换整个文件中所有匹配的文本。
:%s/旧文本/新文本/gc 替换整个文件中所有匹配的文本,替换前确认。

行操作

命令 作用
dd 删除当前行(剪切)。
yy 复制当前行。
p 粘贴到当前行下方。
o 在当前行下方插入一行并进入插入模式。
O 在当前行上方插入一行并进入插入模式。

插入模式命令

插入模式用于编辑和输入文本内容。

命令 作用
i 在光标前插入文本。
I 在行首插入文本。
a 在光标后插入文本。
A 在行尾插入文本。
o 在当前行下方新建一行并进入插入模式。
O 在当前行上方新建一行并进入插入模式。
Esc 退出插入模式,返回普通模式。

命令模式命令

命令模式用于保存文件、退出编辑器、打开新文件等操作。进入命令模式的方法是按 :

文件保存与退出

命令 作用
:w 保存当前文件。
:w 文件名 另存为指定文件名。
:q 退出编辑器。
:q! 强制退出(不保存修改)。
:wq:x 保存并退出。
ZZ 保存并退出(普通模式下)。

打开新文件

命令 作用
:e 文件名 打开指定文件。
:e! 文件名 放弃当前修改,强制打开指定文件。
:n 切换到下一个文件(多文件模式)。
:prev:N 切换到上一个文件(多文件模式)。

显示文件信息

命令 作用
:f 显示当前文件名、行号、总行数等信息。
:set number 显示行号。
:set nonumber 隐藏行号。

跳转到指定行

命令 作用
:数字 跳转到指定行(如 :10 跳转到第 10 行)。
gg 跳转到文件开头。
G 跳转到文件末尾。

搜索与替换

搜索

命令 作用
/关键词 向下查找 关键词
?关键词 向上查找 关键词
n 查找下一个匹配项。
N 查找上一个匹配项。

替换

命令 作用
:s/旧文本/新文本 替换当前行第一个匹配的文本。
:s/旧文本/新文本/g 替换当前行所有匹配的文本。
:%s/旧文本/新文本/g 替换整个文件中所有匹配的文本。
:%s/旧文本/新文本/gc 替换整个文件中所有匹配的文本,并在替换前确认。

总结常用命令

操作 命令
保存文件 :w
退出编辑器 :q
强制退出 :q!
保存并退出 :wq:x
删除当前行 dd
复制当前行 yy
粘贴 p
查找文本 /关键词
替换文本 :%s/旧/新/gc
显示行号 :set number
跳转到指定行 :数字数字G

通过熟练掌握 vim 的基本命令和模式切换,可以高效地编辑和管理文本文件!