可視化編輯
回憶上節課內容🤔
- 我們學習了關於模式匹配中使用參數
-
單個參數
:%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切換首尾
- 控制選擇范圍
- 為什么要有可視化模式?
具體選擇
-
為什么要有可視化模式?
- 因為很多時候移動工具不直觀
-
可視化
- 明確點兒可以叫做選擇范圍可視化
-
像這樣很容易就知道自己所選擇的范圍
- 然后就可以進行相關操作了
- 做什么操作呢?
相關操作
-
在可視化模式也可以進行編輯操作
- 相當於對於選好的內容進行操作
-
選好了之后,
-
d
- 刪除所選文本
-
c
- 修改所選文本
- 刪除選中的文本
- 然后輸入想要的內容
-
r
- 替換所選文本
- 將選中的文本替換成單個字符
-
I
- 在所選文本前插入
-
A
- 在所選文本后插入
-
gu
- 所選區域轉為小寫
-
gU
- 所選區域轉為大寫
-
g~
- 所選區域大小寫互調
-
>
- 所選區域對應的行向右縮進一個
shiftwidth
- 所選區域對應的行向右縮進一個
-
<
- 所選區域對應的行向左縮進一個
shiftwidth
- 所選區域對應的行向左縮進一個
- 這個和我們常用的相似
-
操作細節
-
大小寫不同
- 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使用指定寄存器
-
-
可以用
i
和a
快速選擇范圍- w 小詞 W 大詞
- ()[] {} 各種括號
- t 標簽,編寫網頁的時候很有用
- s 句子 p 段落
- b 小括號,這個編寫程序的時候很有用
- B 大括號,編寫程序的時候也很有用
- " ' `引號內
-
還可以在命令行下對選區范圍內字符進行操作
:'<,'>
- 這次是字符可視化模式,那么行可視化模式是什么意思呢?🤔
- 下次再說 👋
[Github地址] (