为了让大家尽快熟悉这3种工作模式,这里的基本操作就按模式分开来写,把每种模式的用法都介绍清楚,让大家直观地感受到3种工作模式各自的作用。
使用Vim编辑器打开文件的格式:
vim [+行号|+/模式字符串]文件名
先给大家演示使用Vim编辑器打开文件的各种“姿势”:
(1)直接打开文件,让光标停留在文件的首行。
(2)打开文件后,让光标停留在指定的行中。
(3)打开文件后,让光标停留在最后一行。
(4)Vim编辑器支持模式匹配,打开文件后将光标停留在文件中第一个与指定模式字符串匹配的那行上。
注
这里我们用/etc/passwd这个文件进行演示,但是因为该文件是系统中的敏感文件,乱改的话会导致用户登录报错等问题,所以我们复制这份文件到其他目录进行演示。
1.命令模式
命令模式下的基本操作包括光标移动、删除、撤销、复制、粘贴和替换等,这些操作都有对应的按键,具体见表6-1。
表6-1 命令模式下的基本操作
2.编辑模式
编辑模式下的快捷键作用见表6-2。
表6-2 编辑模式下的快捷键作用
3.末行模式
在末行模式下的保存与退出指令见表6-3。
表6-3 末行模式下的保存与退出指令
将文档内容保存并退出Vim编辑器时可以将这3个指令结合起来使用。
末行模式下的基本操作见表6-4。
表6-4 末行模式下的基本操作
注
右下角中显示的内容有光标所在的行和列、内容显示的百分比。
其中,在批量替换中使用的两个表达式的各关键部分含义如下:
➢ 替换起始行:输入行号,从哪一行开始搜索。
➢ 替换结束行:输入行号,搜索到哪一行结束。
➢ 源字符串:要替换的内容。
➢ 替换后的字符串:替换成什么内容。
➢ /:分割符,固定不变。
➢ %:全局,整个文件。
➢ s:替换命令。
➢ g在命令末尾:对所有搜索到的字符串进行替换。
➢ 不加g:只对首次搜索到的字符串进行替换。
替换字符串的不同方式如下:
(1)在全局中只将第一个搜索到的root字符串替换为noylinux。
(2)在全局中将搜索到的所有root字符串全部替换为noylinux。
(3)从第7行至第23行范围内搜索nologin字符串,并将其全部替换为logout字符串。
注
替换操作完成后别忘记保存文档!
在Vim编辑器中做代码开发工作少不了注释这个操作,Vim编辑器可以同时进行多行注释,多行注释的操作也是在末行模式下进行的,具体的语法格式如下:
➢ 添加多行注释(#):
起始行,终止行 s/^/#/g
➢ 取消多行注释(#):
起始行,终止行 s/^#//g
➢ 添加多行注释(//):
起始行,终止行 s/^/\/\//g
➢ 取消多行注释(//):
起始行,终止行 s/^\/\///g
注
不同的开发语言用的注释符号也不一样,Bash、Python使用“#”作为单行注释,而C/C++、Java、PHP这些开发语言则使用“//”作为单行注释。
案例
对Shell脚本中的1~3行进行注释操作。
Vim编辑器的一些常用的基本操作就介绍到这里,本节的内容需要多多练习,但是也不需要完全按照案例去操作,可以适当地做出一些改变,学习技术重在灵活应用。