vi
作为一个系统管理员或者运维工程师必须掌握的命令是man命令和vi命令。特别是vi命令,我们在修改配置文件的时,经常会使用这个命令。
切换模式
vi命令有2个模式,即命令模式和编辑模式,首先要确认当前的模式。
进入编译模式
| 命令 | 解释 |
| 移到当前位置的左侧,开始进行编辑 | |
| I | 移到当前行的最前面,开始进行编辑 |
| a | 移到当前位置的右侧,开始进行编辑 |
| A | 移到当前行的最后面,开始进行编辑 |
| o | 在当前行的下面插入空行,开始进行编辑 |
| O | 在当前行的上面插入空行,开始进行编辑 |
| 命令 | 解释 |
| r | 把当前的文字修改为指定的文字(可指定n个文字,例如r3,把3个文字修改为指定的文字) |
| R | 修改多个文字 |
| J | 把当前行的换行符修改为空格(可指定n,例如J3,把3行连接到连接成一行) |
| ~ | 把当前的文字,改为大写⇔小写(可指定n,例如~3等) |
| 命令 | 解释 |
| x | 删除当前的文字(可使用n,例如x3,删除当前文字开始的3个字) |
| d | 删除当前的文字列(可使用n,例如d3,删除从当前文字列开始的3个文字列) |
| dd | 删除当前的行(可使用n,例如dd8,删除从当前行以后的8行) |
| :g/文字列/d | 删除包括指定文字列的所有行 |
| 命令 | 解释 |
| y | 拷贝对象文字列(可使用n,例如y3,拷贝当前文字列开始的3个文字列) |
| yy | 拷贝当前行(可使用n,例如yy3,拷贝当前行一下的3行) |
| P | 把拷贝或者删除的文字列,拷贝到当前行的上面 |
| p | 把拷贝或者删除的文字列,拷贝到当前行的下面 |
| 命令 | 解释 |
| h | 往左移动一个字符(可使用n,例如h3,往左移动3个字符) |
| j | 往下移动一行(可使用n,例如j3,往下移动3行) |
| k | 往上移动一行(可使用n,例如k3,往上移动3行) |
| l | 往右移动一个字符(可使用n,例如l3,往右移动3个字符) |
| w | 把当前位移动到下一个单词(可使用n,例如w3) |
| b | 移动到前一个单词(可使用n,例如b3) |
| e | 移动到单词的最后一个字符,当已在一个单词的最后一个字符的时候,移动到下一个单词的最后一个字符 |
| G | 移动到当前文件的最后一行的行首 |
| - | 当前行的上面的行首(可使用n,-3) |
| Enter | 当前行的下面的行首(可使用n,Enter3) |
| 命令 | 解释 |
| u | 取消上一个操作 |
| . | 重复上一个操作 |
| 命令 | 解释 |
| ZZ | 保存并且退出vi |
| :w(Enter) | 保存 |
| :w 文件名(Enter) | 保存为指定的文件名 |
| :wq(Enter) | 保存并退出vi |
| :q!(Enter) | 不保存并退出vi |
| :e 文件名(Enter) | 打开指定的文件 |
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。