VIM中括號的自動補全與刪除

2021-08-18 18:26:26 字數 1046 閱讀 9983

先放** 

很多現代 ide 都有自動補全配對括號的功能,比如輸入了左括號「(」,ide 就自動在後面新增乙個對應的右括號「)」,並且將游標移到括號中間。vim 雖然沒有直接提供這個功能,但要實現其實非常簡單,只要在你的 .vimrc 檔案中新增下面的內容就可以了:

1

2

3

4 "

插入匹配括號

inoremap(()

inoremap[

inoremap

原理很簡單,就是將左括號的鍵對映為乙個新的操作,在輸入左括號時,讓 vim 立刻輸入右括號,同時再將游標左移一格到括號中間。

除了括號的自動補全,有時我們也需要括號的自動刪除。比如在輸入了左括號後突然發現輸錯了,本來只需要簡單地按一下退格鍵,將剛才輸入的左括號刪除就行了,但現在 vim 自動加了乙個右括號,退格鍵只能刪除左括號,這個自動加上右括號還得按一下 delete 鍵才能刪掉。

所以,我們還需要乙個功能,如果按退格鍵刪除了左括號,那麼也要自動地把對應的右括號刪除。這個操作使用簡單的鍵盤對映就有點難度了,需要借助函式,如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

" 按退格鍵時判斷當前游標前乙個字元,如果是左括號,則刪除對應的右括號以及括號中間的內容

function! removepairs()

let s:line = getline(".")

let s:previous_char = s:line[col(".")-1] "取得當前游標前乙個字元

ifindex(["(","[",":call removenextdoublechar('}')a

這樣,在 vim 中輸入或刪除括號就方便多了!

vim括號自動補全

發表於 2011年05月22日 分類 vim 括號是程式設計中最常接觸的特殊符,因其往往成對出現,成對刪除的特性,加上vim強大的自定義功能,實現括號的自動完成,成對刪除等各種功能,大大減少了程式設計手指負擔。本文介紹如何對小括號進行設計達到上述功能,加深對vim指令碼的理解。1.括號自動完成 功能...

在 Vim 中實現括號自動補全

流行的 ide 的編輯器,諸如 eclipse,都提供了括號自動補全的功能,相當的方便。可惜 vim 預設情況下並沒有提供這樣的功能,那就只有自己來寫了。將下面的 加入到 vimrc 中,重啟 vim,即可 inoremap i inoremap closepair inoremap i inore...

Vim中括號自動匹配補全,配置 vimrc

在vmware虛擬機器裝了乙個32位的ubuntu的liuux系統,好多外掛程式沒有自帶,要自己裝,一開始連vim都沒有。一 裝vim用命令 sudo install vim 或者分兩步 sudo apt get install vim sudo apt get install g 二 配置vim的...