版權聲明:本文參考了《vim-surround 官方文檔》。 未經作者允許,嚴禁用於商業出版,否則追究法律責任。網絡轉載請註明出處,這是對原創者的起碼的尊重!!!
1 簡介
- 插件介紹:刪除,修改,插入成對符號。
- 倉庫地址:https://github.com/tpope/vim-surround
2 安裝教程
$vim ~/.vimrc
- 在
call vundle#begin()
和call vundle#end()
之間添加Plugin 'tpope/vim-surround'
:wq
$vim
:PluginInsttall
3 使用教程
普通模式 | 描述 | 原文本 | 命令 | 新文本 |
---|---|---|---|---|
ds 目標符號 | 刪除成對符號 | hellow,(world)! | ds( | hellow,world! |
cs 目標符號或文本對象界定符 替代符號 | 修改成對符號 | hellow),(world)! | cs({ | hellow,{ world }! |
ys 文本對象 插入符號 | 添加成對符號 | hellow,world! | ysiw( | hellow,(world)! |
yss 插入符號 | 爲整行添加成對符號 | hellow,world! | yss( | (hellow,world!) |
yS 文本對象 插入符號 | 類似ys,但要換行和縮進 | hellow,world! | ySiw( | hellow,( world )! |
ySS 插入符號 | 類似yss,但要換行和縮進 | hellow,world! | ySS( | ( hellow,world )! |
可視模式 | 描述 | 原文本 | 命令 | 新文本 |
S 插入符號 | 類似ys | hellow,world! | S( | hellow,(world)!) |
gS 插入符號 | 添加成對符號,並換行和縮進 | hellow,world! | gS( | hellow,( world )!) |
插入模式 | 描述 | 原文本 | 命令 | 新文本 |
CTRL-g s 插入符號 | 添加成對符號 | >CTRL+g sb | () | |
CTRL-g S 插入符號 | 添加成對符號,並換行 | >CTRL+g Sb | ( ) |
- 目標符號
- 可以是任意的成對的英文符號中的一個
- 可以是文本對象界定符b,B,r,a,t
插入符號和替代符號
- 可以是任意中、英符號
- 可以是s,表示只在左邊插入空格
- 可以是<或t,表示自定義html標籤,要插入或替換爲尖括號,請使用>或a
- 可以是文本對象界定符b,B,r,a,t
- 如果爲{,[,(,則會在文本兩邊自動添加一個空格
文本對象
- 文本對象由
對象範圍+文本對象界定符
組成 - 對象範圍
- a表示包括界定符號
- i表示不包括界定符
- 文本對象界定符
- b,(,)表示圓括號
- B,{,}表示花括號
- r,[,]表示方括號
- a,<,>表示尖括號
- ” 表示雙引號
- ’ 表示單引號
- ` 表示反引號
- t 表示html標籤
- w 表示單詞,單詞間由不是字母,數字,下劃線的其餘字符分隔
- W 表示字串,字串間由空白符(空格,製表,換行)分隔
- s 表示句子
- p 表示段落
- 文本對象由
文本對象 | 選擇區域 | 文本對象 | 選擇區域 |
---|---|---|---|
a)或ab或a( | 一對圓括號 | aw | 當前單詞及一個空格 |
i)或ib或i( | 圓括號內部 | iw | 當前單詞 |
a}或aB或a{ | 一對花括號 | aW | 當前字串及一個空格 |
i}或iB或i{ | 花括號內部 | iW | 當前字串 |
a]或ar或a[ | 一對中括號 | as | 當前句子及一個空格 |
i]或ir或i[ | 中括號內部 | is | 當前句子 |
a>或aa或a< | 一對尖括號 | ap | 當前段落及一個空行 |
i>或ia或i< | 尖括號內部 | ip | 當前段落 |
a” | 一對雙引號 | ||
i” | 雙引號內部 | ||
a’ | 一對單引號 | ||
i’ | 單引號內部 | ||
a` | 一對反引號 | ||
i` | 反引號內部 | ||
at | 一對XML標籤 | ||
it | XML標籤內部 |
4 選項
let g:surround_ascii碼 = "要映射的字符串"
- 將ascii字符映射爲特定的字符
\r
表示原文本- “、’、\需要進行轉義
\n提示字符\r正則表達式\r\n
表示等待鍵盤輸入,並過濾掉與正則表達式匹配的內容,然後放在一對\n之間,n最大爲7
- 提示字符可以省略
- 第一個
\r
表示正則表達式,可省略 - 第二個
\r
表示過濾後的字符,可省略
- 示列:
let g:surround_116 = "<\1please input:\r[^a-z].*\r\1>\r</\1\r[^a-z].*\r\1>"
let g:surround_insert_tail = "字符串"
- 插入模式中,在插入指定符號後自動添加一個字符串
版權聲明:本文參考了《vim-surround 官方文檔》。 未經作者允許,嚴禁用於商業出版,否則追究法律責任。網絡轉載請註明出處,這是對原創者的起碼的尊重!!!