vi是”visual interface”的简称, 它在Linux上的地位就仿佛Windows中的记事本一样. 它可以执行编辑、删除、查找、替换、块操作等众多文本操作, 而且用户可以根据自己的需要对其进行定制. vi是一个文本编辑程序, 没有菜单, 只有命令. vim更高级一些, 可以理解是vi的高级版本. vim需要自行安装, 在shell中输入vimtutor命令可以查看相关的帮助文档. vim的三种模式 Vi有三种基本工作模式: 命令模式、文本输入模式、末行模式。 三种工作模式的切换如图所示, 从下图中可以看出编辑模式和末行模式之间不能相互切换, 必须经过命令模式. 命令模式下的操作 用户按下esc键, 就可以使vi进入命令模式下; 当使用vi打开一个新文件开始也是进入命令模式下. 代码格式化 光标移动 删除命令 | 操作 | | | | | | | | | | | | | | | | 使用h、j、k、l移动选择内容, 然后按d删除其中ctrl+v是列模式, v为非列模式 |
撤销和反撤销命令 复制粘贴 | 操作 | | | | | | | | | | 按dd或者ndd删除, 将删除的行保存到剪贴板中, 然后按p/P就可以粘贴了 |
可视模式 | 操作 | | 使用h、j、k、l移动选择内容; 使用d删除 使用y复制 使用p粘贴到光标的后面 使用P粘贴到光标的前面 |
替换操作 查找命令 | 操作 | | /xxxx, 从光标所在的位置开始搜索, 按n向下搜索, 按N向上搜索 | | ?xxxx, 从光标所在的位置开始搜索, 按n向上搜索, 按N向下搜索 | | 将光标移动到待搜索的字符串上, 然后按n向上搜索,但N向下搜索 | | 在待搜索的字符串上按shift+k或者K, 可以查看相关的帮助文档 |

切换到文本输入模式 从命令模式切换到文本输入模式只需输入如下命令: | 操作 | | | | | | | | | | | | | | | | | | 先按ctrl+v进入列模式, 按hjkl移动选定某列,按I或者shift+i向前插入, 然后插入字符, 最后按两次esc. |

末行模式下的操作 从命令模式切换到末行模式, 输入冒号(:) 保存退出 替换操作 下面表格中old表示原字符串, new表示新字符串 快速翻屏 在末行模式下执行shell命令 !shell命令 按下两次esc可以回到命令模式 分屏操作 在打开文件之后分屏: | 操作 | | | | | | | | | | | wall/wqall/xall/qall/qall! | |
在打开文件之前分屏: 分屏: vim -on file1 file2 … 垂直分屏: vim -On file1 file2… 注意: n可以省略, 有几个文件就分几屏 从末行模式切换回命令模式 按两次ESC, 退格(backspace)或者回车键 vim的配置文件 用户级别配置文件 ~/.vimrc, 修改用户级别的配置文件只会影响当前用户, 不会影响其他的用户. 例如: 在用户的家目录下的.vimrc文件中添加 set tabstop=4 ----设置缩进4个空格 set nu ----设置行号 set shiftwidth=4 ---设置gg=G缩进4个空格, 默认是缩进8个空格 系统级别配置文件 /etc/vim/vimrc, 修改了系统级别的配置文件将影响系统下的所有用户. 说明: 由于linux是多用户操作系统, 建议只在用户级别的配置文件下进行修改, 不要影响其他用户. |