# 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>`
Vim实践与学习-02输入模式
上一篇:教你十分钟开发后台管理系统
下一篇:构建产业互联网金融系统的正确姿势
分享好友
点击获得分享链接,复制给好友成功购买后您可以获得2成返利哦~
订阅须知
• 所有用户可根据关注领域订阅专区或所有专区
• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询
• 专区发布评论属默认订阅所评论专区(除付费小栈外)