vi编辑器的使用
3种模式及其切换方法:
在每次运行Vi编辑器时,默认进入命令模式,此时需要先切换到输入模式后再进行文档编写工作,而每次在编写完文档后需要先返回命令模式,然后再进入末行模式,执行文档的保存或退出操作。在Vim中,无法直接从输入模式切换到末行模式。
创建文件或者修改文件
vi 不存在的文件——创建文件
vi 存在的文件——对文件进行编辑
最底下出现红色文字提示有错误的时候处于命令模式
进入编辑状态的一般方法:
打开vi编辑器后,进入的是命令模式,需要输入英文字母i(或者I、a、A、o、O),才会进入编辑状态(即插入模式),才可以输入内容或修改里面的内容
i:在光标所在字符前开始插入
I:在光标所在行的行首开始插入,如果行首有空格则在空格之后插入
- i可以理解为insert
a:在光标所在字符后开始插入
A:在光标所在行的行尾开始插入
- a可以理解为append
o:在光标所在行的下面另起一新行插入
O:在光标所在行的上面另起一行开始插入
注意:按下这6个字母,下方显示的都是–INSERT–,即插入模式(也称为编辑模式)
在vi编辑器中完成修改后:
l 保存文件并退出的方法是:首先按Esc键,退出编辑状态(即插入模式)回到命令模式,然后输入冒号(shift + :
)进入底行模式,再输入英文字符wq,然后回车,就可以保存退出了。
l 如果没有修改文件,则输入英文字符:q,然后回车。
l 如果文件被修改了要不保存并且强制退出,则输入英文字符:q!
时处在命令行模式,只需要输入shift+:
进入底行模式,再输入q!
不保存退出即可
vi编辑器中的常用操作和快捷键
(1)命令模式下,拷贝当前行[yy],拷贝当前行向下的5行[5yy],并粘贴[p]
(2)命令模式下,删除当前行[dd],删除当前行向下的5行[5dd]
(3)命令模式下,剪切当前行[dd],剪切当前行向下的5行[5dd],并粘贴[p] paste
(4)在插入模式下修改一些内容,然后连续撤销 [在命令模式下输入u] undo
(5)打开/etc/profile文件,练习以下操作:
注意:centos用户对此文件没有写的权限,下方出现readonly表示对此文件只有读取的权限
-
在文件中查找单词PATH[底行模式下先输入/,再输入PATH,回车查找,输入n(next)就是查找下一个]
-
设置文件的行号,取消文件的行号[底行模式下: set nu 和:set nonu]
-
显示文档的最末行[命令模式下输入G]和最首行[命令模式下输入gg]
-
将光标移动到第20 行[方式1:在命令模式下输入20 这个数,再输入大写的G;方式2:底行模式下,输入20后按下回车键]
复制到vi编辑器时的格式错乱问题
对于一些冗长的代码完全可以粘贴的时候,vi粘贴所有格式全部错乱,完全无法阅读。
解决办法:esc进入命令行模式后,输入:set paste
,然后再 i 进入粘贴编辑模式,即可正常复制并保留原有格式。
在家目录下创建文件的3种方式:
使用vi编辑器的一种常见问题
例如vi /etc/networks
- 原因是用户没有权限编辑此文件
- 出现错误时处在命令行模式,只需要输入
shift+:
进入底行模式,再输入q!
不保存退出即可