绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
Vim实践与学习-02输入模式
2020-03-24 13:53:33


# 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>`

分享好友

点击获得分享链接,复制给好友成功购买后您可以获得2成返利哦~

Linux系统之路
创建时间:2019-12-27 16:09:53
分享Linux系统操作与相关知识
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

栈主、嘉宾

查看更多
  • QuietHeart
    栈主

小栈成员

查看更多
  • ?
  • 栈栈
  • 飘絮絮絮丶
戳我,来吐槽~