107.03.13 vim surrounder 介紹

aben20807/vim-surrounder
同樣來一篇 surrounder OuO
星星都來吧 (x


為什麼叫做 surrounder ?

1. 懶得學 vim-surround,超複雜(x
2. 就是懶 OuO
3. 所以這個 surrounder 就是專門用來 surround (有點難翻譯@@)的~~~~ OuO
4. 就是加上包圍的符號,加括號或寫字串時頗方便,不需要自己打

安裝

Plug 'aben20807/vim-surrounder'
:PlugInstall

使用方式

目前只支援幾個符號:'', "", (), [], {}, <>
如果想要加 html 的 tag 之類的去用 vim-surround 吧(我不攔你們 QuQ
一般在 normal 模式下可以按 ,s+符號 e.g. ,s" 來把光標下的單字左右加上各加上一個 "

也可以先按一個數字表示要包含幾個單字

使用 ,d 就會自動偵測在哪個符號裡面並刪除

使用 ,f+符號 可以自動修改左右的符號
e.g. ,f' 把原本的 " 換成 '

當然刪除和取代並不一定要原本只包一個單字,它會自動搜尋包在哪個裡面

最後,當然支援 visual 模式來包選取的區塊


可自訂變數

允許使用預設的按鍵配置
let g:surrounder_use_default_mapping = 1
加入符號的按鍵,因為我的 <leader> 是 , 所以上面都用 ,
let g:surrounder_n_add_key = "<leader>s"
visual 模式加入符號的按鍵
let g:surrounder_v_add_key = "<leader>s"
刪除
let g:surrounder_n_del_key = "<leader>d"
取代
let g:surrounder_n_rep_key = "<leader>f"
上面 gif 看到的一堆中文,覺得不想看到就把此變數設成 0 吧
let g:surrounder_show_info = 1
在刪除、取代時自動偵測在哪個符號內部,但在複雜情況下會出錯
let g:surrounder_auto_detect = 1

已知問題

整行選取(shift+v)模式會從第0個位置開始包,前面會有縮排的空白
有巢狀結構時,自動模式可能會先刪除(取代)外面的 e.g. 's<u[rrou]nd>',順序:', [, <

沒有留言:

張貼留言

^ Top