目录
简述
vi编辑器是Linux系统下标准的编辑器。
那么简单的理解,就像是Windows下的记事本。
补充:vim是vi的升级版,代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。
- vim的一般使用方法:
vim filepath
//如果直接输入vim则打开一个新文件
- vim 有 3 种工作模式,分别是命令行模式、编辑模式、最底行模式。
vim的三种模式
概述
- 命令行模式:最初进入vi之后的模式,该模式下可以移动光标进行浏览,整行删除,但无法输入文字。
- 编辑模式:只有在该模式下,用户才能进行文字的编辑输入。
- 最底行模式:该模式下,光标位于屏幕底行,用户可以进行文件保存或退出操作,也可以设置编辑环境,如寻找字符串、列出行号。
转换方式

文本编辑
命令模式
直接用命令(vi 文件名)打开一个文件的话,默认是在命令模式下。
root@localhost \~\]# vim /etc/gitlab/gitlab.rb  > p 粘贴复制的内容到光标所在行之上 > > dd 删除当前光标所在行 > > cc 剪切当前光标所在行 > > u 取消前一个动作 此时处于命令模式下。  ### 插入(编辑)模式 > 在命令模式下输入a、A、**i** 、I、o、O中任何一个字符即可进入插入模式,在此模式下才可以对文件进行编辑,输入内容。在此模式下按 **ESC键** 退出到命令模式 ##  > a、A、i、I、o、O字符作用如下: > > 1. a:在当前光标下一位开始编辑 > > 2. A:在当前光标所在行行尾开始编辑 > > 3. i:在当前光标开始编辑 > > 4. I:在当前光标所在行行首开始编辑 > > 5. o:在当前光标的下一行开始编辑 > > 6. O:在当前光标的上一行开始编辑 ### 底行模式 > 在命令模式下,通过输入 **:** (英文冒号)即可切换到底行模式,底行模式下可以做一些保存,字符替换等操作,底行模式下命令以回车结束,退出或者返回命令模式,或者**双击Esc**返回命令模式。 常用的底行模式下的命令如下: > **:set nu 显示行号** > > :set nonu 取消显示行号 > > :q 只退出,不保存 > > :wq 保存退出 > > :q! 强制退出 > > :wq! 强制保存退出 > **:%s/old/new 将old替换成new** > **:/string 查找字符串** > **:n 定位到n行(n指数字)**  ## 搜索关键字 **例如搜索 the写法:/the +回车** > 1、/+关键字 ,回车即可。 **/the** > > 此为从文档当前位置向下查找关键字,按n键查找关键字下一个位置; > > 2、?+关键字,回车即可。?the > > 此为从文档挡圈位置向上查找关键字,按n键向上查找关键字; > > 3、查找单词"the"(忽略大小写) > > : /the\c //从光标位置开始查找 n 下一个 N 上一个 ## 显示行号 : set number //可简化为 set nu ## 替换 > :1,10s/old/new/g**替换 1 到 10 行** 所有 old 为 new(s 表示替换) > > :%s/old/new/g 替换整个文件的 old 为 new(% 是一个变量,在这里代表整篇文档) ## **多文件打开** 在 vim 中可以同时打开两个文件 ```bash [root@hepingfly]# vim -o gitlab.rb gitlab-secrets.json 上下分屏打开两个文件(小 o) [root@hepingfly]# vim -O gitlab.rb gitlab-secrets.json 左右分屏打开两个文件(大 O) ``` 如果是上下打开两个文件,可以通过先按 「ctrl + w」再按上下箭头的方式在两个文件之间切换。  如果是左右打开两个文件,可以通过先按 「ctrl + w」再按左右箭头的方式在两个文件之间切换。  参考: https://blog.csdn.net/Sevel7/article/details/105189768 https://blog.csdn.net/JunLeon/article/details/120407552 [https://zhuanlan.zhihu.com/p/155973403](https://zhuanlan.zhihu.com/p/155973403 "https://zhuanlan.zhihu.com/p/155973403") 欢迎点赞、评论