Vim 视图模式
Vim 有三种可视模式。
- 面向字符的可视模式,我们能够选择任意的字符范围,不论它是单个字符,还是位于一行内,或是跨若干行的指定字符范围。
- 面向行的可视模式,如果我们想对整行操作,可以使用该模式。
- 面向列的可视模式,如果想对整列操作,可以使用该模式。
命令 | 用途 |
---|---|
Esc | 退回到普通模式 |
v | 激活面向字符的可视模式 |
V | 激活面向行的可视模式 |
Ctrl + v | 激活面向列块的可视模式 |
gv | 重选上次的高亮选区 |
o | 切换到高亮选区的活动端 |
gv 命令是一个有用的快捷键,它用来重选上一次由可视模式所选择的文本范围,不管上个选区是面向字符的、面向行的或是面向列块的, gv 命令都能正确的工作。不过上次的选区如果删除了,它也许会工作得不太正常。
高亮选区的范围由两个端点界定。其中一端固定,而另一端可以随光标自由移动,我们可以用 o 键来切换活动的端点。在定义选区时,如果定义到一半,才发现选区开始的位置不对,此时用这个键会很方便。(描述起来很抽象,建议分别使用 v 和 V 选中一段文字,然后分别使用 o 键来观看效果理解。)
视图模式下文本选择, w : word ; s: statement。
命令 | 选项 |
---|---|
iw | 当前单词 |
aw | 当前单词及一个空格 |
iW | 当前字符串 |
aw | 当前字符串及一个空格 |
is | 当前句子 |
as | 当前句子及一个空格 |
ip | 当前段落 |
as | 当前段落及一个空行 |
视图模式下用精确的文本对象选区
文本对象允许我们操作括号、被引用的文本、XML 标签以及其他文本中的常见结构。
在可视模式下,Vim 的文本对象由两个字符组成,第一个字符永远是 a 或者 i 。一般来说,以 i 开头的文本对象会选择分隔符内部的文本,而以 a 开头的文本对象则会选择包括分隔符在内的整个文本。为了便于记忆,可以把 i 想成 “inside”,而把 a 想成 “all” 。
下列表格可简单记忆
a[char] : 包含 char 的文本
i[char] : char 内部的文本(不包含 char ).
at : 一对 XML 标签 tags
it : XML 标签内部
文本对象 | 选择区域 |
---|---|
a) / ab | 一对圆括号 |
i) / ib | 圆括号内部 |
a} / aB | 一对花括号 |
a} / iB | 花括号内部 |
a] | 一对方括号 |
i] | 方括号内部 |
a> | 一对尖括号 |
i> | 尖括号内部 |
a’ | 一对单引号 |
i’ | 单引号内部 |
a" | 一对双引号 |
i" | 双引号内部 |
a` | 一对反引号 |
i` | 反引号内部 |
at | 一对 XML 标签 tags |
it | XML 标签内部 |