vi vim 括號自動縮進設置及解釋


在設置括號自動縮進之前首先要設置自動縮進,具體辦法是在~/.vimrc文件中加入如下語句:

set autoindent
set shiftwidth=4
set tabstop=4
set expandtab
set smarttab

vi編輯器中的括號不能自動縮進,搜索了一下,發現使用imap將可以實現,經過實驗之后,在縮進設置為上面的情況時,我的大括號縮進設置為:

imap {<CR> {<CR>}<ESC>O

意思是在輸入時將大括號接換行符映射成大括號接回車接大括號接ESC接大寫的O,想一下,替換成的內容就是你手動換行時可以采用的一種輸入方式,同樣,按照這種想法,如果想要中括號和小括號自動補全並且光標移到括號中間,可以采用如下的映射方式:

imap [ []<ESC>i
imap ( ()<ESC>i

想一下,[]加回車加i是不是你自己操作的時候可以采用的一種輸入方式,按照這種想法,我們還可以這樣映射:

imap [ []<LEFT>
imap ( ()<LEFT>

這樣看起來是不是更直觀,輸入一個左括號,相當於輸入完整的括號再將光標向左移動一個字符

再就是imap是什麽意思,imap的意思是insert模式下的映射操作,上述設置的映射規則只在輸入模式下有作用,在其他模式中沒有設置這種映射規則就不會有這種輸入時的替換,map有好幾種映射模式,想設置某一種模式下映射規則,可以使用該模式下的映射命令,比如命令模式cmap,普通模式nmap,關於map的模式可以參考這篇博客http://haoxiang.org/2011/09/vim-modes-and-mappin/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM