一、背景描述
在我们连接操作Linux服务器的时候,需要对其配置文件等内容进行一些增删改的操作,一般情况下我们直接使用Linux系统自带vi编辑器进行相应的操作,熟悉vi的常用功能对于我们编辑一些较大的文件效率能够有所提升,使用起来更加得心应手。
二、vi编辑器常用方法
2.1、vi编辑器介绍
vi编辑器(类似Windows的文本编辑器)对文件内容进行操作【vi 文件名称+文件后缀名】即可打开文件。
序号 | vi编辑器的模式 | 模式说明 |
1 | 常规模式 | 打开文件后默认是常规模式,在常规模式中可以使用各种快捷键,帮我们快速编辑文件。比如:快速按下键盘的D键2次(dd)就是删除当前光标所在整行的数据; |
2 | 编辑模式 | 需要先切换为英文输入法,然后按i、o、a这三个键中的任意一个键都可以进入到编辑模式,这样才能向文件中写内容,内容写完之后,需要回到常规模式(在编辑模式中直接按下esc键即可回到常规模式) |
3 | 命令模式 | 在常规模式时按:(英文的冒号)进入命令模式,命令模式按esc回到常规模式,命令模式下输入q然后按下Enter键(回车)表示退出文件。 |
2.2、vi编辑器的命令模式
使用【vi 文件名称】打开文件后进入常规模式后,此时在输入英文的冒号(:)即可进入命令模式,此次如果要退出命令模式只用按下键盘的ESC键即可退出。
序号 | 命令模式命令 | 示例和说明 |
1 | :set number | 给文件中的每一行都添加上行号,方便查看内容所属行和对应的操作 |
2 | :行号 | 光标跳转到指定行 【:5】表示光标跳转到第5行 |
3 | /需要搜索的内容 | 从当前光标位置开始向后搜索内容,按下键盘的【n】是向下搜索,按下键盘的【N】向上搜索 【/Sqlserver】表示搜索文件中含有Sqlserver的内容 |
4 | ?需要搜索的内容 | 从当前光标位置开始向后搜索内容,按下键盘的【n】是向下搜索,按下键盘的【N】向上搜索 |
5 | :行号s/需替换的旧值/需替换为的新值/g | 使用新值替换指定行号的旧值内容 【:6s/Running/测试运行/g】表示将6行数据中的Running内容替换为测试运行 |
6 | :开始行号,结束行号s/需替换的旧值/需替换为的新值/g | 使用新值替换开始行号到结束行号的旧值内容($s表示最后一行) 【:7,19s/excute/测试执行/g】表示从7行开始到19行中包含excute的内容都替换为测试执行 |
7 | :%s/需替换的旧值/需替换为的新值/g | 搜索整个文件,并将所有内容使用新值替换指定行号的旧值内容 【:%s/Loading/测试加载/g】表示将整个文件中所有的Loading替换为测试加载 |
8 | :%s/需替换的旧值/需替换为的新值/gc | 搜索整个文件,并将所有内容使用新值替换指定行号的旧值内容,且每次替换前都确认是否替换【y】表示替换【n】表示不替换【a】表示全部替换 |
9 | :q | 退出不保存 |
10 | :q! | 强制退出不保存 |
11 | :wq | 保存并退出 |
12 | :wq! | 强制保存并退出 |
2.3、vi编辑器的常规模式
使用【vi 文件名称】打开文件后进入常规模式后,我们可以对文件内容进行查看移动光标等操作(如:向下翻页,向上翻页、跳转到文件头,文件尾、跳转到当前行的第一个字符、最后一个字符等操作)
序号 | 常规模式命令 | 说明 |
1 | ctrl+f | 向下翻一页 |
2 | ctrl+b | 向上翻一页 |
3 | ctrl+u | 向上翻半页 |
4 | ctrl+d | 向下翻半页 |
5 | gg | 跳转到文件的头部开始位置 |
6 | G | 跳转到文件的尾部位置(对应的按键是:shift+g) |
7 | 0 | 跳转到当前光标所在的行的开始位置(不论该行是否有缩进空格等内容) |
8 | ^ | 跳转到当前光标所在行的第一个字符位置(对应的按键是:shift+6) |
9 | $ | 跳转到当前光标所在行的最后一个字符位置(对应的按键是:shift+4) |
10 | 行号gg | 跳转到指定行 |
11 | 行号G | 跳转到指定行(对应的按键是:shift+g) |
2.4、vi编辑器的常规模式删除和复制
使用【vi 文件名称】打开文件后进入常规模式后,需要对文件内容进行一些删除和复制操作,除了进入编辑模式移动光标和delete键操作外,还有一些快捷命令操作,如下列表所示:
序号 | 常规模式的命令 | 说明 |
1 | x | 按一下x键则删除当前光标所在位置的一个字符 |
2 | 需删除的字符数x | 删除当前光标所在位置后的字符数 (如:6x 就表示删除当前光标所在位置后的6个字符) |
3 | u | 撤销刚才的操作 |
4 | dd | 删除光标所在行的数据(其实dd操作是剪切) |
5 | dw | 删除当前光标所在位置的一个单词 |
6 | yy | 复制当前光标所在行数据内容 |
7 | 需复制的数据行数yy | 复制当前光标所在行开始及其下面的行数数据内容 (如:6yy 表示从光标所在行开始下面的5行数据共6行数据内容到粘贴板中) |
8 | 小p | 将粘贴板的内容粘贴到当前光标所在行的下面 |
9 | 大P | 将粘贴板的内容粘贴到当前光标所在行的上面 |
2.5、vi编辑器的编辑模式
使用【vi 文件名称】打开文件后进入常规模式后,
1、按下键盘的【i】键是进入编辑模式且光标就停留在常规模式下的位置;
2、按下键盘的【o】键是进入编辑模式且光标切换到下一行的开始位置;
3、按下键盘的【a】键是进入编辑模式且光标就停留在常规模式下后一个位置;
同时可以使用上下左右的箭头键盘移动光标(或者H、I、J、K键代表左下上右移动);可以使用【DELETE】键或【←】键删除内容。