vi(visual editor)编辑器通常被称为 vi,它是 linux 和 unix 系统上最基本的文本编辑器,类似于 windows 下的 notepad (记事本)编辑器。
vim(vi improved)是vi编辑器的加强版,比 vi 更容易使用。 vi的命令几乎全都可以在 vim 上使用。
vim 一边拿可以通过 yum 或 apt 来进行安装: yum install vim -y/apt install vim -y
vim 编辑器有四种模式: 命令模式:默认处于命令模式。该模式下可以移动光标位置,通过快捷键对文件内容 复制、粘贴、删除。 编辑模式:在命令模式下输入 a 或小写字母可以进入编辑模式,在该模式下可以对文件内容进行编辑 末行模式:输入冒号即可进入末行模式,可以在末行输入命令来对文件进行查找、替换、保存、退出。 可视化模式:可以做一些列选操作(通过方向键选择某些内容,类似于 Windows 鼠标刷黑)
Vim 四种模式的关系
Vim 打开文件:
# vim 文件名称
① 若文件已存在,则直接打开
② 若文件不存在,则vim 编辑器会在内存中创建一个新的
Vim 保存文件
:wq
Vim 编辑器强制退出不保存
:q!
命令模式下 移动光标到首行键入 => gg ,移动光标到末行 键入 => G
☆ 翻屏 向上, ctrl + b (before) 或 PgUp 翻屏向下 , ctrl + f (after) 或 PgDn 向上翻半屏,ctrl + u(up) 向下翻半屏,ctrl + d(down)
快速定位光标到指定行列
行号 + G, 150G 代表 移动光标到150行。
复制 yy 粘贴 :在想要的地方键入 p 键 将粘贴在光标所在行的下一行
从当当前行开始复制指定的行数,如复制 5行,5yy
剪切/删除!
① 剪切/删除 当前光标所在行
按键:dd,粘贴:p
dd 严格意义上说是剪切的命令,但如果剪切了不粘贴就是删除的效果。
② 剪切/删除多行
按键:数字dd ,粘贴:p
③剪切/删除光标所在行的之后的内容,但是删除后下一行不上移。
按键:D
撤销/恢复(!)
撤销:u(undo)
恢复: ctrl + r (取消)之前的撤销操作【重做,redo】
查找/搜索(!)
末行模式下输入 /+ 内容,可以查找,N/n 代表上一个或下一个对象。
输入:noh 【no highlight】取消高亮
文本内容跟替换(!)
👇仅替换光标所在的这一行第一个满足条件的结果
末行模式
:s/要替换的内容/替换后的内容 + 回车
👇替换光标所在行一行所有满足条件的结果 ,g = global
:s/查询内容/替换内容g + 回车
👇针对整个文档某个内容进行替换,只替换每一行中满足条件的第一个结果
:%s/搜索内容/替换内容
👇针对整个文档中的所有关键词进行替换(只要满足条件就进行替换操作)
:%s/替换内容/替换后的内容/g
显示行号
:set nu 【nu = number】,行号
取消行号
:set nonu
paste模式为什么要使用?
在终端 vim 中,发现插入的代码会有多余的缩进,而且会逐行累加。原因是终端把粘贴的文本存入键盘缓存中,Vim则把这些内容作为用户的键盘输入来处理。导致在遇到换行符的时候,如果Vim 开启自动缩进,就会默认把上一行缩进插入到下一行的开头,最终使代码变乱。
在粘贴数据之前,输入下面命令开启 paste 模式
:set paste
粘贴完毕后,输入下面命令关闭 paste 模式
:set nopaste
退出 vim 编辑器
使用:x ,不会修改保存时间。
:wq ,会修改保存时间。
在终端中输入: history 可以查看之前输入的所有命令。