oeasy教您玩转vim - 56 - # 字符可视化模式
可视化编辑
回忆上节课内容🤔
我们学习了关于模式匹配中使用参数
单个参数
:%s/<h2>\(.*\)</h2>/ - \1/g多个参数
:%s/<img src=\"\(.*\)\" title=\"\(.*\)\" \/>/[!\2]\1非贪婪匹配
:%s/<a href=\"\(.\{-\})\">\(.\{-\}\)<\/a>/[\2]\1/g我们这回会遇到一种新的模式
什么模式呢?
我们先回忆一下已经了解的模式
三种模式
我们先回顾一下以前学过的模式
正常模式
插入模式
替换模式
命令行模式
今天的新模式是
可视化模式其实可视化对应三种可视化
字符可视化v
行可视化V
块可视化ctrl+v

字符可视模式
v进入
还是可以用
{motion}移动光标从开始位置到目前光标位置文本高亮显示
相当于把选择范围高亮显示
在左下角显示
可视意味着进入了
可视-字符模式可以用o切换首尾
控制选择范围

为什么要有可视化模式?
具体选择
为什么要有可视化模式?
因为很多时候移动工具不直观

可视化
明确点儿可以叫做选择范围可视化
像这样很容易就知道自己所选择的范围
然后就可以进行相关操作了
做什么操作呢?
相关操作
在可视化模式也可以进行编辑操作
相当于对于选好的内容进行操作
选好了之后,
所选区域对应的行向左缩进一个
shiftwidth所选区域对应的行向右缩进一个
shiftwidth所选区域大小写互调
所选区域转为大写
所选区域转为小写
在所选文本后插入
在所选文本前插入
替换所选文本
将选中的文本替换成单个字符
修改所选文本
删除选中的文本
然后输入想要的内容
删除所选文本
d
c
r
I
A
gu
gU
g~
>
<
这个和我们常用的相似
操作细节
大小写不同
d只删除选中的字符
而D删除选中字符所在行的所有字符,包含结尾的换行符号
c 和 C 、 y 和 Y 同理
可以在前面添加
"a指定寄存器a

快速选择文字块

vaw可以进入字符可视模式,并选中单词
vaW
a WORD (with white space)
包含空格的一个WORD
iW
inner WORD
不包含空格的WORD
as
a sentence (with white space)
包含空格一个句子
is
inner sentence
不包含空格一个句子
ap
a paragraph (with white space)
包含空格一个段落
ip
inner paragraph
一个段落
各种括号引起的文字块
ab
- a () block (with parenthesis) - 一个小括号包围的块,含括号ib
- inner () block - 不包含括号的一个块aB
- a {} block (with braces)- 一个大括号包围的块,含括号iB
- inner {} block- 一个大括号包围的块at
- a <tag> </tag> block (with tags) - 一个标签包围的块,含标签it
- inner <tag> </tag> block - 一个标签包围的块,不含标签a<
- a <> block (with <>) - 一个尖括号包围的标签,含标签- 相当于ati<
- inner <> block - 一个尖括号包围的标签,不含标签- 相当于ita[
- a [] block (with []) - 中括号包含的块,含中括号i[
- inner [] block - 中括号包含的块,不含中括号
还有各种引用文字块
a"
- a double quoted string (with quotes) - 双引号括号包含的块,含双引号i"
- inner double quoted string - 双引号括号包含的块,不含双引号a'
- a single quoted string (with quotes) - 单引号括号包含的块,含单引号i'
- inner simple quoted string - 单引号括号包含的块,不含单引号a`
- a string in backticks (with backticks) - 反引号括号包含的块,不含反引号i`
- inner string in backticks - 反引号括号包含的块,不含反引号
用行命令操作选区
选好选区后
:
左下角会出现:'<,'>
就是从选区开头,到选区结尾
'< 选区开头
'> 选区结尾
然后我们摁下d回车
就把选区范围内都删除了
我们可以
:h '<查看相应手册

总结
今天我们了解到可视模式,其实可视化对应三种子模式
字符可视模式v
行可视模式V
块可视模式ctrl+v
我们先来了解字符可视化模式
快捷键v
可配合各种
motiono切换首尾
字符可视化就是把选择范围可视化
快速操作
d
c
y
选中了之后可以进行
可以用"a使用指定寄存器
可以用
i和a快速选择范围w 小词 W 大词
()[] {} 各种括号
t 标签,编写网页的时候很有用
s 句子 p 段落
b 小括号,这个编写程序的时候很有用
B 大括号,编写程序的时候也很有用
" ' `引号内
还可以在命令行下对选区范围内字符进行操作
:'<,'>这次是字符可视化模式,那么行可视化模式是什么意思呢?🤔
下次再说 *
[Github地址] (https://github.com/overmind1980/oeasyvim)
[Gitee地址] (https://gitee.com/overmind1980/oeasyvim)
[蓝桥实验楼 邀请码FJWYIMGB] (https://www.lanqiao.cn/courses/2840)

