新年伊始,Linux大棚發布的第一篇文章是有關vim的,面向那些已經熟悉vim使用的同學們,你們可以通過這篇文章,了解到一些常用的.vimrc的配置方法,也可以直接用到自己的.vimrc中,來提高工作效率。
==
.vimrc文件,是一個著名的隱藏文件,它用來控制vim編輯器的各類屬性和行為。當你打開vim時,它會很自覺地去讀.vimrc的各條命令,老老實實地遵照去做。所以,掌握.vimrc的配置方法,是掌控vim的前提和關鍵。
在.vimrc配置文件中, 每一行可以寫一個命令,不同的命令以換行符隔開。如果你想寫注釋的話,請使用雙引號,注釋方法如下:
"comment: This is rocinux's vim tutorial
syntax on "comment: color grammar
可見,你既可以在行首就開始寫注釋,也可以在命令後面追加注釋內容。
好了,現在給出Linux大棚版.vimrc的配置及相應注釋信息:
$ cat.vimrc
"==
"Author :roc
"Website:roclinux.cn
"Version:1.0
"==
"按編程語言的語法,對代碼進行彩色標示,術語叫做語法高亮
syntax on
"顯示行數標示
setnumber
"打開狀態欄的坐標信息
setruler
"取消底部狀態欄顯示。1為關閉,2為開啟。
setlaststatus=1
"將輸入的命令顯示出來,便於查看當前輸入的信息
setshowcmd
"設置魔術匹配控制,可以通過:h magic查看更詳細的幫助信息
setmagic
"設置vim存儲的歷史命令記錄的條數
sethistory=100
"下劃線高亮顯示光標所在行
setcursorline
"插入右括號時會短暫地跳轉到匹配的左括號
setshowmatch
"搜索時忽略大小寫
setignorecase
"不對匹配的括號進行高亮顯示
letloaded_matchparen=1
"在執行宏命令時,不進行顯示重繪;在宏命令執行完成後,一次性重繪,以便提高性能。
setlazyredraw
"設置一個tab對應4個空格
settabstop=4
"在按退格鍵時,如果前面有4個空格,則會統一清除
setsofttabstop=4
"cindent對c語法的縮進更加智能靈活,
"而shiftwidth則是在使用<和>進行縮進調整時用來控制縮進量。
"換行自動縮進,是按照shiftwidth值來縮進的
setcindent shiftwidth=4
"最基本的自動縮進
setautoindent shiftwidth=4
"比autoindent稍智能的自動縮進
setsmartindent shiftwidth=4
"將新增的tab轉換為空格。不會對已有的tab進行轉換
setexpandtab
"高亮顯示搜索匹配到的字符串
sethlsearch
"在搜索模式下,隨著搜索字符的逐個輸入,實時進行字符串匹配,並對首個匹配到的字符串高亮顯示
setincsearch
"設置自定義快捷鍵的前導鍵
letmapleader=","
"利用前導鍵加b,則可以在一個單子兩邊加上大括號
map b wbi{ea}
"使用前導鍵加w來實現加速文件保存,來代替:w!加回車
nmap w :w!
"匹配那些末尾有空格或TAB的行。(es:Endspace Show)
map es :/.*\s\+$
"刪除行末尾的空格或TAB(ed:Endspace Delete)
map ed :s#\s\+$##
"如果所選行的行首沒有#,則給所選行行首加上注釋符#(#a:# add)
map #a :s/^\([^#]\s*\)/#\1/
"如果所選行行首有#,則將所選行行首所有的#都去掉(#d:# delete)
map #d :s/^#\+\(\s*\)/\1/
"如果所選行的行首沒有//,則給所選行行首加上注釋符//(/a:/ add)
map /a:s/^\([^\/\/]\s*\)/\/\/\1/
"如果所選行行首有//,則將所選行行首的//都去掉(/d:/ delete)
map /d:s/^\/\/\(\s*\)/\1/
補充知識:
map模式,可謂是vim的殺手锏之一,用戶可以使用map來自由定義適合自己的快捷鍵方案,達到方便使用、提高效率的目的。在此,Linux大棚總結了vim的map模式的相關命令,便於大家配置自己的.vimrc時查詢。
vim編輯器的map模式謝謝!