Vim的三种各具特色的模式
因为最近意识到Vim这个文本编辑工具的高效和强大,甚至能够以思考的速度编辑文本,但又因为其细节过多,特开一个专栏来帮助自己记录和学习Vim。
另外简单的介绍一下vi与vim的区别,VIM 是 vi 的升级版本,除了兼容 vi 的所有指令,VIM 还具有一些新的特性,(多级撤销,易用性,语法加亮,可视化操作等)
如果想要在win系统下使用VIM的话,可以参考 Windows11安装Vim编辑器配置指南
1. 一般模式/命令模式(command mode)
启动vim时默认会进入命令模式,可以移动光标、复制粘贴、删除字符等
(这是最厉害的模式,也是最常用的模式)
此状态下键盘输入会被识别为命令操作,常用到的包括 i (切换到插入模式),x(删除当前光标所在字符),:(切换到命令行模式) < /font>。
2. 插入模式(input mode)
在一般模式下按下键盘【i, I, o, O, a, A】进入插入模式,屏幕的左下方会出现【–INSERT–】的字样,表示当前模式下,用户可以编辑修改文本的内容。按下【Esc】则退出编辑模式。
3. 末行模式/指令命令模式(last line mode)
在一般模式下按下键盘【: / ?】任意一个,光标移动到最下面一行,进入末行模式。可以查找数据、替换、可保存文件、退出 vi、显示行号等操作。
4. 末行模式的常见指令
命令 | 描述 |
---|---|
i | 进入插入模式,在光标前插入文本 |
a | 进入插入模式,在光标后插入文本 |
o | 在光标下方插入新行,并进入插入模式 |
O | 在光标上方插入新行,并进入插入模式 |
Esc 或 Ctrl + [ | 退出插入模式,回到一般模式 |
:w | 保存当前文件 |
:wq 或 :x 或 ZZ | 保存并退出 |
:q | 退出当前文件 |
:q! | 强制退出当前文件,不保存 |
:set number | 显示行号 |
:set nonumber | 不显示行号 |
:set syntax=<语言> | 设置语法高亮 |
:set nosyntax | 关闭语法高亮 |
:e <文件名> | 打开指定文件 |
:split 或 :sp | 分割窗口 |
:vsplit 或 :vsp | 竖直分割窗口 |
:tabnew 或 :tabe | 新建标签页 |
:tabnext 或 :tabn | 下一个标签页 |
:tabprevious 或 :tabp | 上一个标签页 |
:tabclose 或 :tabc | 关闭标签页 |
:set list | 显示不可见字符 |
:set nolist | 不显示不可见字符 |
:set expandtab | 将 Tab 转换为空格 |
:set noexpandtab | 不将 Tab 转换为空格 |
:set tabstop=<数字> | 设置 Tab 的宽度 |
:set shiftwidth=<数字> | 设置自动缩进的宽度 |