vim编辑器
vim编辑器
1.vim简介
vim和vi命令是linux中强大的文件编辑器,vim编辑是必须要掌握的工具,也是vi的升级版,功能强大
vim可以用来做编辑配置文件,写脚本,批量修改,查找内容等
2.vim的三种工作模式
1.命令模式(普通模式):用vim打开文件时,就是进入了命令模式
跳转光标:
G:可以将光标移动到文件的最后一行
gg:将光标移动到文件的第一行
Ngg:将光标移动到指定的行数(N为数字)
$:将光标移动到一行话的末尾
^:将光标移动到一行话的开头
复制粘贴:
yy:复制光标所在行的一行内容
Nyy:复制光标所在行以及的指定后N行内容(N为数字)
p:将复制的内容粘贴到光标所在行的下一行
P(shift + p):将复制的内容粘贴到光标所在行的上一行
剪切删除:
dd:剪切,删除光标所在行的一行内容
Ndd(dNd):剪切删除光标所在行以及后N行内容(N为数字)
dG:剪切删除光标所在行到文件最后的行的内容
D:剪切删除光标所在的字符以及这一行后面的字符
x:剪切删除光标所在的字符
X(shift + x):剪切删除光标所在字符的前一个字符
撤销替换:
r:替换光标所在的字符
R:替换光标所在的字符以及后面的字符,按esc结束
u:撤销上一步的操作
ctrl + r:取消撤销的操作
保存退出:
ZZ:保存并退出
2.编辑模式(输入模式):可以在编辑模式下输入文本
从命令模式切换成编辑模式:
a:在光标所在字符之后进入编辑模式
A:将光标移动到光标所在行的末尾进入编辑模式
o:在光标所在行的下一行进入编辑模式
O:在光标所在行的上一行进入编辑模式
i:直接进入编辑模式
I:将光标移动到光标所在行的开头进入编辑模式
s:删除光标所在字符进入编辑模式
S:删除光标所在行的内容进入编辑模式
# 进入编辑模式后,左下角出现 -- INSERT -- 标识
3.末行模式(底行模式):执行待定的命令
文件的保存与退出:
:w :保存修改的内容
:q :退出vim编辑器
:wq :保存内容并退出
:w! :强制保存内容
:q! :强制退出编辑器
:wq! :强制保存内容并退出
:x :保存内容退出
## 进入末行模式的方法:
# 1.输入 ‘:’
# 2.输入 ‘/’
## 只能从命令模式进入
跳转模式:
: + 数字:将光标跳转到指定行
内容的查找:
/ + 查找的字符串(string):查找指定字符串,查找到的内容会以高亮的方式显示出来
n:向下查找下一个字符串
N:向上查找上一个字符串
内容的替换:
:%s/原内容/要替换的内容/g
%:替换所有原内容(也可以不用%号,用数字代替代表替换指定行数里的原内容)
s:查找到的第一个原内容并把它替换
/:为分割符没有实际意义,推荐使用‘#’号键,它不会与别的键冲突
g:全局替换,默认只替换一行内容
末行报错:
E37: No write since last change (add ! to override):文件内容修改没有保存退出会出现提示,如果想退出必须':q'加上'!'号强制退出
E45: 'readonly' option is set (add ! to override):针对root用户,只读文件不能修改,保存退出需要加"!"号
E212: Unable to open and write files:
无法打开文件
3.末行模式的其他功能:
:set nu(number):显示行号
:set ai(autoindent):自动缩进
:set ic(ignorecase):不区分大小写
:set list:查看文件中的结尾和制表符等特殊符号
取消设置:
:set no+上面的功能
4.vim视图模式
视图模式是属于命令模式之下的一种模式,它有两种模式:
块视图模式:
1.x:按光标删除选中的字符
2.批量修改文件
# ctrl + v进入块视图模式,进去后左下角会显示 -- VISUAL BLOCK --
行视图模式:
shift + v :进入行视图模式
5.vim扩展选项
diff,vimdiff:文件对比命令
推荐使用这个,它会把两个文件中不相同的部分以高亮的形式显示
vim 编辑多个文件
-o:水平分割
-O:垂直分割
# ctrl + ww 可以切换文件
vim +数字:进入文件指定的行进行编辑
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异