原文連接html
參考連接正則表達式
一、設置自動縮進(tab鍵爲4個字符)vim
二、設置括號自動縮進(好比輸入"(",會自動輸入(),且光標在括號中間)app
辦法:編輯器
個人vim這麼難用?不能語法高亮,沒有折行,不能打開多個窗口多個buffer,不能……,要實現這些功能,須要配置vimrc文件spa
1.一、vimrc文件目錄在哪?3d
輸入vim回車,進入vim命令模式code
1.二、命令模式輸入":versin"htm
1.三、關於vimrc的顯示以下:blog
1.四、對於vim初學者,若是不知道$HOME或者$VIM具體是哪一個目錄,能夠在vim中用下面的命令查看
:echo $VIM
:echo $HOME
1.五、切換到管理員權限,修改系統vimrc文件(也就是圖片中的「$VIM」)
1.六、配置縮進:
解釋:
設置製表符寬度
:set tabstop=4
:set softtabstop=4
設置縮進的空格數
:set shiftwidth=4
每行的縮進值與上一行相等
:set autoindent
舉個例子:【我要實現這樣的效果——在我用vim打開文件時,默認地給我顯示行數】
vim在默認的狀況下,不會顯示行數,須要在命令模式下輸入【:set number】。這個命令只對當前窗口起做用。
你打開其餘的文檔,若是還要顯示行數,得再敲set的命令。
有了配置文件就不用這麼麻煩了。打開你的【_vimrc】文件,在文件的最後的一行輸入【set number】,保存。
這樣,你之後打開的全部文件就都會有行號了。
這只是很小的功能,舉個例子罷了。
它還能夠定義本身的命令,如刪除空行等,就不用記住那個難記的正則表達式,只要在配置文件裏寫一遍,再給它取個名字(如:xyz),之後輸入【:xyz】就能達到刪除空行的效果。(此篇再也不贅述)
另,vim還自帶了一個vimrc的示例文件——【vimrc_example.vim】。個人這個文件目錄是這樣的:【$VIM\vim73\】
vi編輯器中的括號不能自動縮進,使用imap將能夠實現,大括號縮進設置爲
imap {<CR> {<CR>}<ESC>O
意思是:在輸入時將大括號接換行符映射成大括號接回車接大括號接ESC接大寫的O
效果(輸入" { ",而後enter回車):
同理,中括號以及小括號縮進設置
imap [ []<ESC>i //輸入左中括號的時候自動補齊右中括號,並在括號中間輸入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/