Vim编辑器

  • 所有的Linux distributions都会内置vi文本编辑器
  • 很多软件的编辑接口都会主动调用vi文本编辑器
  • vim可以看做vi的高级版本,有程序编辑能力,强大好用

一、Vim的三种模式

  • 命令模式:控制光标移动,对文本进行复制、粘贴、删除和查找
  • 末行模式:保存或退出文件,以及其他的一些功能
  • 插入模式:编辑文本内容

二、三种模式的切换和使用

Vim编辑器模式切换示意图

Note:

  • 当运行vim编辑器时,默认进入命令模式
  • 插入模式和末行模式之间不能直接切换
  • 按下a、i、o等键时,进入插入模式
  • 按下:等键时,进入末行模式
  • 按下Esc键回到命令模式

2.1 命令模式说明

按键 作用
dd 删除(剪切)光标所在行
ndd 删除(剪切)从光标处开始的n行
yy 复制光标所在行
nyy 复制从光标处开始的n行
p 粘贴(将删除或复制的数据粘贴到光标下一行)
P 粘贴(将删除或复制的数据粘贴到光标上一行)
u 撤销(后退)
[Ctrl] + r 重做上一个操作(前进)

2.2 进入插入模式的说明

按键 作用
i/I 进入插入模式:
i: 从当前光标插入
I: 从当前所在行的第一个非空格符处插入(即从开头插入)
a/A 进入插入模式:
a: 从当前光标的下一个字符处插入
A: 从当前所在行的最后一个字符处插入(即从行末尾插入)
o/O 进入插入模式:
o: 从当前光标的下一行插入新的一行
O: 从当前光标的上一行插入新的一行
r/R 进入替换模式:
r: 替换光标所在的字符
R: 一直替换光标所在的字符,直到按下[Esc]键为止

Note:
界面左下角出现--INSERT----REPLACE--字样

2.3 末行模式的说明

2.3.1 常用命令

按键 作用
:w 将编辑的数据从内存写入硬盘
:w! 若文件属性为只读,强制写入
:q 退出vim环境
:q! 强制退出,且不保存文件
:wq! 强制保存并退出
:set nu 显示行号
:set nonu 不显示行号
:n 光标移动到第n行

2.3.2 替换命令

按键 作用
:s/word1/word2 将当前光标所在行的第一个word1替换为word2
:s/word1/word2/g 将当前光标所在行的所有word1替换为word2
:%s/word1/word2 将全文中每一行的第一个word1替换为word2
:%s/word1/word2/g 将全文中所有的word1替换为word2
:n,ms/word1/word2/g 将n行到m行的所有word1替换为word2
:.,$s/word1/word2/gc 将光标所在行到最后一行的所有word1替换为word2
注意:替换前需要用户进行确认是否替换

2.3.3 查找命令

按键 作用
/word 在文本中从上至下搜索word
?word 在文本中从下至上搜索word
n 重复前一个查找操作
N 反向进行前一个查找操作

三、块选择

按键 作用
[Ctrl] + v 块选择,用矩形的方式选择数据
v 字符选择,将光标经过的地方反白
V 行选择,将光标经过的行反白
y 复制反白的数据
d 删除反白的数据

Note:
界面左下角出现--VISUAL BLOCK----VISUAL----VISUAL LINE--字样

四、多文件编辑

同时打开多个文件,如: vim hosts man.config

按键 作用
:n 编辑下一个文件
:N 编辑上一个文件
:first 打开第一个文件
:last 打开最后一个文件
:files 列出目前vim打开的所有文件

五、多窗口功能

按键 作用
:sp filename 打开一个新窗口
有filename: 打开一个新文件
无filename: 两个窗口为同一个文件内容(同步显示)
[Ctrl] + w + ⬇ 光标移动到下方的窗口
[Ctrl] + w + ⬆ 光标移动到上方的窗口
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容