vim编辑器的常用操作汇总

艺帆风顺 发布于 2025-04-07 16 次阅读


一、vim 介绍

vim 是 vi 的扩展,是一个功能丰富的文本编辑器,对于一个运维人员的必备基础技能之一,就是熟练使用 vim/vi 编辑器。在最小化安装环境一般只有 vi,没有 vim,需要手动安装一下。

yum install -y vim

二、vim 模式

1、普通模式

默认的编辑模式。从 shell 窗口打开文件进入的第一个模式,其他模式可以通过按 ESC 键回退到普通模式。

2、命令模式

用于执行复杂查询命令,从普通模式输入“:”,“/”或“?”等符号即可进入命令模式,回车键表示输入完成

3、插入模式

该模式就类似 window 中操作文本文件,普通模式下可通过输入“i”,“o”等字符即可进入插入模式。编辑完成后按 ESC 键退出到普通模式。

4、可视模式

用于选定文本块;可以在正常模式下输入“v”(小写)来按字符选定,输入“V”(大写)来按行选定,或输入“Ctrl-V”来按方块选定。

三、每个模式的常用操作

1、vim 打开文件方法

选项说明
vim filename正常打开vim文件
vim + filename打开文件,并将光标置于最后一行
vim +n filename打开文件,并将光标置于第n行
vim +/ssh passwd打开文件,并将光标置于第一个与ssh匹配的位置
vim -r filename恢复上次vim打开时崩溃的文件

2、普通模式

操作说明
G跳到最后一行
gg跳到第一行
5G跳到第5行
yy复制当前行
5yy复制从当前行往后的5行
p粘贴已复制的行到光标后
P粘贴已复制的行到光标前
dd(1)剪切当前行,以p粘贴;(2)删除当前行
5dd删除5行
dG从当前行删到最后一行
D从光标处删除到行尾
5dG从当前行删到第五行
x删除光标所在位置的字符
5x删除光标所在位置的字符及往后的5个字符
X删除光标所在位置的前一个字符
u撤销之前的操作
Ctrl + r反撤销(恢复撤销)
数字0或者^将光标移动到当前行的行首
$将光标移动到当前行的行尾
ctrl +f向下翻页
ctrl +b向上翻页
n查找下一个相同的字符
N查找上一个相同的字符
r替换光标所在位置的字符
R从光标当前位置开始替换字符,输入内容会覆盖后面等长的内容,按“Esc”结束输入
h向左移动光标
j向下移动光标
k向上移动光标
l向右移动光标

3、命令模式常用命令

操作说明
:wq保存退出
:wq!强制保存退出
:q不保存退出
:q!强制退出,一般已经对文件内容已经进行了修改,不保存强制退出的情况使用
:set nu设置行号显示
:set nonu取消行号
:set list取消行号
set paste启用粘贴模式
set nopaste关闭粘贴模式
:s/a/b/g将当前光标所在行中所有a替换成b
:2,5s/a/b/g将2-5行中所有a替换成b
:%s/a/b/g将文件所有的a替换成b
/word从文本查找字符串,按“n”可以查看下一个相同字符 .注意:查找会区分大小写
/^word查询以work开头的行
/work$查询以work结尾
?work从文本查找字符串,按“n”可以查看上一个相同字符

4、进入插入模式方法

操作说明
i光标所在位置插入
I光标所在位置行首插入
o光标所在位置下一行插入
O光标所在位置上一行插入
a光标所在位置下一个字符的位置插入
A光标所在位置行尾插

进入到插入模式后就如同进入一个文档文件,按ESC键退出到普通模式

5、可视化模式常用操作

普通模式进入可视化模式

操作命令
v字符选择模式,选中光标经过的所有字符
V行选择模式,选择光标经过的所有行

可视化模式可以实现批量的删除增加注释,生产环境经常使用

四、vim 可能遇到的问题

出现上面的情况有两种可能:

1、重复编辑,在另外一个远端也有打开这个文件

2、异常断开,在正在编辑时突然关机或网络断开的情况

vim 他不是实时写入的机制,他会先把文件写到内存,等我们执行 w 操作以后,再写回到原文件。那么在写回原文件,或者执行 q 的放弃操作之前,会生成一个临时的文件,以 . 开头,以 .swp 结尾。

解决办法:

直接删除自动生成的临时文件file.swp或者报错界面直接输入D放弃编辑

rm -f .filename.swp