Vim的使用技巧-自动闭合成对符号
(,“,‘,[符號(hào)的自動(dòng)閉合
我們可以用簡(jiǎn)單的鍵映射來(lái)實(shí)現(xiàn)以上這些成對(duì)符號(hào)的閉合,也就是在插入模式下輸入這些符號(hào)的左邊部分,鍵映射將自動(dòng)完成右邊部分,并保持插入模式,光標(biāo)保持在成對(duì)符號(hào)的當(dāng)中以便在其中輸入字符。比如:
:inoremap ( ()<Esc>i以上的設(shè)置的意思是在插入模式時(shí)將輸入的(轉(zhuǎn)換為()然后回到正常模式,再用i回到插入模式,這時(shí)候光標(biāo)位置正好落在)之前。同理可以完成其它符號(hào)的自動(dòng)閉合。
但是這樣的設(shè)置,在完成在成對(duì)符號(hào)中的輸入后,要跳出成對(duì)符號(hào)繼續(xù)輸入時(shí)還是不方便。下面的方法就可以來(lái)解決這個(gè)問(wèn)題:
...:inoremap ( ()<Esc>:let leavechar=")"<CR>i
:inoremap [ []<Esc>:let leavechar="]"<CR>i
...
:imap <C-l> <Esc>:exec "normal f" .leavechar<CR>a
這里的設(shè)置分兩段,第一段在之前提到的方法上又加了:
let leavechar=")"<CR> 這里表示在閉合符號(hào)的同時(shí),將對(duì)應(yīng)的右側(cè)符號(hào)附給leavechar這個(gè)變量,<CR>表示回車。
第二段中的<C-l>?表示CTRL+l?,exec "normal f" .leavechar<CR>a?表示在正常模式下用命令f來(lái)定位到leavechar中所保存的字符,然后用a命令在其后插入光標(biāo),這樣就做到了跳出成對(duì)符號(hào)繼續(xù)編輯的要求。
對(duì)現(xiàn)有的文字添加成對(duì)符號(hào)
有的時(shí)候我們需要對(duì)已經(jīng)輸入的字符加上成對(duì)符號(hào)。 一般情況是我們選中一段文字然后對(duì)其加上成對(duì)符號(hào),我們可以這樣來(lái)實(shí)現(xiàn):
:vnoremap ( <Esc>`>a)<Esc>`<i(<Esc>這里要注意的是`>?和`<?的用法,前者表示定位到所選區(qū)域的最后一個(gè)字符,而后者表示定位到所選區(qū)域的最后一個(gè)字符,這樣就能在所選區(qū)域的開(kāi)頭和結(jié)尾加上成對(duì)符號(hào)了。
根據(jù)上面的說(shuō)明,我們可以根據(jù)需要將這些設(shè)置寫入VIM的設(shè)置文件.vimrc里,這樣就可以讓Vim來(lái)簡(jiǎn)化我們的輸入操作了。
轉(zhuǎn)載自:http://blog.csdn.net/hardy_2009/article/details/6388704
總結(jié)
以上是生活随笔為你收集整理的Vim的使用技巧-自动闭合成对符号的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: VMtools的安装与卸载
- 下一篇: 3_ARM内核和架构都是什么意思,它们到