欢迎光临散文网 会员登陆 & 注册

oeasy教您玩转vim - 56 - # 字符可视化模式

2021-11-02 08:26 作者:oeasy  | 我要投稿

可视化编辑

回忆上节课内容🤔

  • 我们学习了关于模式匹配中使用参数

  • 单个参数

    • :%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 <>)    -    一个尖括号包围的标签,含标签-    相当于at    
    • i<

      -    inner <> block    -    一个尖括号包围的标签,不含标签-    相当于it
    • a[

      -    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

      • 可配合各种 motion

      • o切换首尾

      • 字符可视化就是把选择范围可视化

    • 快速操作

      • d

      • c

      • y

      • 选中了之后可以进行

      • 可以用"a使用指定寄存器

    • 可以用ia快速选择范围

      • 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)


    oeasy教您玩转vim - 56 - # 字符可视化模式的评论 (共 条)

    分享到微博请遵守国家法律