標籤:vim
在home目錄下編輯.vimrc(無則建立)。
syn on "文法支援 "common conf {{ 通用配置 set ai "自動縮排 set bs=2 "在insert模式下用退格鍵刪除 set showmatch "代碼匹配 set laststatus=2 "總是顯示狀態行 set expandtab "以下三個配置配合使用,設定tab和縮排空格數 set shiftwidth=4 set tabstop=4 set smartindent set cursorline "為游標所在行加底線 set number "顯示行號 set autoread "檔案在Vim之外修改過,自動重新讀入 set ignorecase "檢索時忽略大小寫 set fileencodings=uft-8,gbk "使用utf-8或gbk開啟檔案 set hls "檢索時高亮顯示匹配項 set helplang=cn "協助系統設定為中文 set foldmethod=syntax "程式碼摺疊功能 imap { {}<ESC>i<CR><ESC>V<O imap ( ()<ESC>i imap [ []<ESC>i "}} "conf for tabs, 為標籤頁進行的配置,通過ctrl h/l切換標籤等 let mapleader = ',' nnoremap <C-l> gt nnoremap <C-h> gT nnoremap <leader>t : tabe<CR> "conf for plugins {{ 外掛程式相關的配置 "狀態列的配置 "powerline{ set guifont=PowerlineSymbols\ for\ Powerline set nocompatible set t_Co=256 let g:Powerline_symbols = 'fancy' "} "}}
注意中間兩行imap是設定大中小括弧的自動匹配與且完成大括弧的縮排
解釋一下。
imap是vim配置中的指令,就是做一個映射,文法就是
imap 要映射的東西 被映射成什麼東西
按照這種理解,上面的那句就可以理解為:
映射“{”為
{}<ESC>i<CR><ESC>V<O
後面的東西就是vim中依次執行這些操作,一一分解如下:
{} 就是直接插入左右括弧
<ESC> 就是按鍵盤的ESC鍵,切換到命令列模式
i 按鍵盤的i鍵,進入插入模式
<CR> 按斷行符號,此時將右括弧換行
<ESC> 就是按鍵盤的ESC鍵,切換到命令列模式
V 按住shift+v,就是選中當前行就是右括弧所在的行
< 按住shift+,將當前行向左移動一個tab,此時右括弧已經和左括弧對齊
O 按住shift +o,在當前行(右括弧)的前一行插入
其實就是告訴vim如果我們輸入{ ,那就接下來做上面一系列操作。
至於 ( 和 [ 則是一個道理了。
用vim做IDE