Vim基本模式
Vim中有6个基本模式和6个基本模式的变种的辅助模式,后面的讲述中会涉及到这些模式。这里将这些模式做一个简单介绍,更多文档请参考vim手册中 *vim-modes-intro* *vim-modes* 部分的内容(可通过 :help vim-modes 浏览)。
Normal Mode
也被称作Command Mode。是Vim启动后默认进入的模式(除非设置设置了 insertmode 选项),该模式下不能编辑文件内容,但是可以接收大多数编辑指令(例如拷贝、删除、修改保存等)。
Visual mode
类似Normal Mode Mode,在Normal mode中通过 V 或 v 可进入该模式下,该模式中任何移动光标的动作都会将光标所经过的区域高亮,非光标移动的指令作用于高亮区域;设置 showmode 选项为 on 后,可以在窗口底部看到进入该模式的提示 -- VISUAL -- 。
具体可参见 :help Visual-mode 。
Select mode
类似Visual mode,但是命令有很大不同。在Visual mode中输入 <C-g> 、或者在Normal中输入 gh 、 gH 、 g <C-h> 等可以进入该模式。它有点像MS Windows中的选择模式,键入一个可打印的字符后,会删除选择区域并进入插入模式。设置 showmode 选项为 on 后,可以在窗口底部看到进入该模式的提示 -- SELECT -- 。
Insert mode
在该模式下你键入类似打开普通编辑器(如记事本)的状态,在Normal mode中键入 i 、 a 、 o 、 s 等都可以进入该模式。在该模式下可以键入你想插入的字符,字符会被插入到当前文件缓存中。设置 showmode 选项为 on 后,可以在窗口底部看到进入该模式的提示 -- INSERT -- 。
具体可参见 :help Insert-mode 。
Command-line mode/Cmdline mode
该模式下你可以在窗口底部键入一行文本,完成复杂的操作指令。从Normal mode进入该模式的方式,比如用于 Ex命令键入 : ,用于搜索键入 / 和 ? ,用于过滤内容键入 ! 、 = ……
具体参见 :help Cmdline-mode 。
Ex mode
类似Command-line mode,在Normal mode中通过键入 Q 、 gQ 可以进入该模式。该模式下输入的命令和Command-line mode中的差不多,但是输入完一条命令之后,你会保持在Ex mode中继续输入其他命令,期间当前屏幕不会刷新,键入 vi 会退出该模式。
具体参见 :help Ex-mode 。
Vim的辅助模式
除了基本模式之外,Vim还有六个辅助模式,如下。
Operator-pending mode
该模式类似Normal Mode,但是在一个操作命令开始之后,Vim会等待一个 {motion} (移动),来指定操作对应的文本。
Replace mode
该模式是一种特殊的Insert mode,你可以进行和Insert mode一样的操作,但是不同的是每次你键入一个被插入的字符之时,插入之处原来所在的字符就会被替换成你键入的字符。设置 showmode 选项为 on 后,可以在窗口底部看到进入该模式的提示 -- REPLACE -- 。
Virtual Replace mode
该模式类似Replace mode,不同的是它会替换屏幕当前的内容状态,在Normal mode中键入 gR 会进入该模式。设置 showmode 选项为 on 后,可以在窗口底部看到进入该模式的提示 -- VREPLACE -- 。
Insert Normal mode
该模式类似Normal mode,在Insert mode下键入 <C-o> 可以进入该模式,该模式下执行一条Normal mode命令后,又会回到之前的Insert mode。设置 showmode 选项为 on 后,可以在窗口底部看到进入该模式的提示 -- (insert) -- 。
Insert Visual mode
这个模式类似Visual mode,是在Insert mode中进入 Insert Normal mode后再键入 v 、 V 、 <C-v> ,该状态结束后,会回到Insert mode。设置 showmode 选项为 on 后,可以在窗口底部看到进入该模式的提示 -- (insert) VISUAL -- 。
Insert Select mode
这个模式类似Select mode,是在Insert mode中进入 Insert Normal mode后再键入从Normal进入Select mode的命令,会进入该模式,该状态结束后,会回到Insert mode。设置 showmode 选项为 on 后,可以在窗口底部看到进入该模式的提示 -- (insert) SELECT -- 。
最常见的模式及相关操作
前面介绍了Vim的多种模式,内容较多,为便于理解和继续,这里给出其中最常见的模式和相关操作。深入理解可在学习完本系列文章后再回顾。
内容是在输入模式下的功能。 本文剩余部分介绍的大部分都是指令模式的相关操作。
输入模式主要有如下的操作:
回到指令模式(Command mode):
输入: <Esc> .
输入内容:
输入: ...[你要输入的字符串]...
在这里,直接输入相应的字符即可。
临时切换到指令模式,执行完命令之后自动回到输入模式(Insert mode):
切换指令模式时输入: <C-o> .
回到输入模式时输入: <Esc>



京公网安备 11010502036488号