一、vi的使用
基本的vi共分为3种模式,分别是一般命令模式、编辑模式与命令行模式。
一般命令模式(command mode)
以vi打开一个文件就直接进入一般模式。在这个模式中,可以使用【上下左右】按键来移动光标,可以使用【删除字符】或 【删除整行】来处理文件内容,也可以使用【复制、粘贴】来处理你的文件内容。
编辑模式(insert mode)
一般命令模式下无法编辑文件的内容,要等到按下【i、l、o、O、a、A、r、R】等任何一个字母之后才会进入编辑模式。在编辑模式下,界面的左下方会出现【INSERT】或 【REPLACE】的字样。按下【ESC】会退出编辑模式。
命令行模式(command-line mode)
在一般模式下,输入【:/ ?】三个中的任何一个,就可以将光标移动到最下面一行,进入命令行模式。在这个模式中,可以【查找数据】,读取、保存、批量替换字符、退出vi、显示行号等的操作。
二、按键说明
2.1、一般命令模式可用的功能按键说明
想要多次移动,比如向下移动30行,可以使用“30j”或“30↓”的组合键,亦即加上想要进行的次数(数字)后,按下操作即可。
使用 /word 配合n及N是非常有帮助的,可以让你重复的找到一些你查找的关键词。
这个 u 与 Ctrl + r 是很常用的命令。一个是恢复,另一个则是重做一次,利用这两个功能按键,可以很愉快的操作。
2.1、一般命令模式切换到编辑模式的可用的按键说明
2.3、一般命令模式切换到命令行模式的可用按键说明
2.4、vim的缓存、恢复与打开时的警告信息
vim通过缓存来恢复未保存的数据,当使用vim编辑时,vim会在被编辑的文件的目录下,再建立一个名为.filename.swp的文件。
vim的一般命令模式下按下【Ctrl + z】的组合键,vim就会被丢到后台去执行。
[root@VM_0_8_centos vitest]# vim man_db.conf <== 进入到vim界面,在一般命令模式下按下[Ctrl + z]组合键
[1]+ Stopped vim man_db.conf
[root@VM_0_8_centos vitest]# ll -a
total 28
drwxr-xr-x 2 root root 4096 May 28 22:14 .
drwxrwxrwt. 14 root root 4096 May 28 21:43 ..
-rw-r--r-- 1 root root 5445 May 28 21:57 man_db.conf
-rw-r--r-- 1 root root 4096 May 28 22:14 .man_db.conf.swp <== 缓存文件
-rw-r--r-- 1 root root 5442 May 28 21:55 man.test.config
报错信息
E325: ATTENTION <== 错误代码
Found a swap file by the name ".man_db.conf.swp" <== 下面数行说明有缓存文件的存在
owned by: root dated: Fri May 28 22:14:45 2021
file name: /tmp/vitest/man_db.conf <== 这个缓存文件属性哪个实际的文件
modified: no
user name: root host name: VM_0_8_centos
process ID: 30099 (still running)
While opening file "man_db.conf"
dated: Fri May 28 21:57:53 2021
下面说明可能发生这个错误的两个主要原因与解决方案
(1) Another program may be editing the same file. If this is the case,
be careful not to end up with two different instances of the same
file when making changes. Quit, or continue with caution.
(2) An edit session for this file crashed.
If this is the case, use ":recover" or "vim -r man_db.conf"
to recover the changes (see ":help recovery").
If you did this already, delete the swap file ".man_db.conf.swp"
to avoid this message.
Swap file ".man_db.conf.swp" already exists!
[O]pen Read-Only, (E)dit anyway, (R)ecover, (Q)uit, (A)bort:
各按键说明:
[O]pen Read-Only: 打开此文件成为只读文件,可以用在你只是想要查看该文件内容并不想要进行编辑操作时。
(E)dit anyway:用正常的方式打开你要编辑的那个文件,并不会加载缓存的内容,不过很容易出现两个用户互相改变对方的文件等问题。
( R)ecover:加载缓存的内容,用在你要救回之前未保存的工作,不过当你救回并且保存退出vim后,还是要手动自行删除那个缓存文件。
(Q)uit:按下q退出vim,不会进行任何操作回到命令提示字符。
(A)bort:忽略这个编辑操作,感觉上与quit非常类似,也会送你回到命令提示字符。
三、vim的额外功能
3.1、可视区块(Visual Block)
3.2、多文件编辑
多文件编辑,可以使用vim后面同时接好几个文件来同时打开,相关的按键有: