修改vim預設配置

2021-06-13 14:10:44 字數 4505 閱讀 7533

在終端下使用vim進行編輯時,預設情況下,編輯的介面上是沒有顯示行號、語法高亮度顯示、智慧型縮排等功能的。為了更好的在vim下進行工作,需要手動設定乙個配置檔案:.vimrc。

在啟動vim時,當前使用者根目錄下的.vimrc檔案會被自動讀取,該檔案可以包含一些設定甚至指令碼,所以,一般情況下把.vimrc檔案建立在當前使用者的根目錄下比較方便,即建立的命令為:

$vi ~/.vimrc

設定完後

$:x 或者 $wq

進行儲存退出即可。

下面給出乙個例子,其中列出了經常用到的設定,詳細的設定資訊請參照參考資料:

「雙引號開始的行為注釋行,下同

「去掉討厭的有關vi一致性模式,避免以前版本的一些bug和侷限

set nocompatible

「顯示行號( 看**時很有必要)

set nummber

「檢測檔案的型別

filetype on

「記錄歷史的行數

set history=1000

「背景使用黑色(ubuntu效果下建議不要設定)

set background=dark

「語法高亮度顯示(ubuntu效果下建議不要設定,使用系統預設的高亮顯示更好)

syntax on

「下面兩行在進行編寫**時,在格式對起上很有用;

「第一行,vim使用自動對起,也就是把當前行的對起格式應用到下一行;

「第二行,依據上面的對起格式,智慧型的選擇對起方式,對於類似c語言編寫上很有用

set autoindent

set smartindent

「第一行設定tab鍵為4個空格,第二行設定當行之間交錯時使用4個空格(寫python**時方便多了,不用再猛敲空格了)

set tabstop=4

set shiftwidth=4

「設定匹配模式,類似當輸入乙個左括號時會匹配相應的那個右括號(好東西,免得忘記輸入右括號)

set showmatch

「去除vim的gui版本中的*******

set guioptions-=t

「當vim進行編輯時,如果命令錯誤,會發出乙個響聲,該設定去掉響聲

set vb t_vb=

「在編輯過程中,在右下角顯示游標位置的狀態行

set ruler

「預設情況下,尋找匹配是高亮度顯示的,該設定關閉高亮顯示

set nohls

「查詢時非常方便,如要查詢book單詞,當輸入到/b時,會自動找到第一

「個b開頭的單詞,當輸入到/bo時,會自動找到第乙個bo開頭的單詞,依

「次類推,進行查詢時,使用此設定會快速找到答案,當你找要匹配的單詞

「時,別忘記回車

set incsearch

「修改乙個檔案後,自動進行備份,備份的檔名為原檔名加「~「字尾

if has(「vms」)

set nobackup

else

set backup

endif

set ru

該命令開啟 vim 的狀態列標尺。預設情況下,vim 的狀態列標尺在螢幕底部,它能即時顯示當前游標所在位置在檔案中的行號、列號,以及對應的整個檔案的百分比。開啟標尺可以給檔案的編輯工作帶來一定方便。

set hls

搜尋時高亮顯示被找到的文字。該指令的功能在 vimtutor 中已經有過介紹,這裡就不多說了。其實似乎許多人並不喜歡這個功能。

set is

搜尋時在未完全輸入完畢要檢索的文字時就開始檢索。vimtutor 對該命令也有過介紹,滇狐並不喜歡這個功能,因此滇狐自己的配置檔案裡是沒有這條命令的。但是周圍有朋友很喜歡這個,因此滇狐還是將它列在這裡。

syntax on

開啟關鍵字上色。進行程式設計的朋友應該都知道關鍵字上色是什麼東西,因此這裡就不多說了。不進行程式設計的朋友不妨也開啟這個功能,雖然不一定能夠用得著,但這個功能其實也是很好玩的。

set backspace=indent,eol,start

設想這樣乙個情況:當前游標前面有若干字母,我們按下 i 鍵進入了 insert 模式,然後輸入了 3 個字母,再按 5 下刪除(backspace)。預設情況下,vim 僅能刪除我們新輸入的 3 個字母,然後喇叭「嘟嘟」響兩聲。如果我們「set backspace=start」,則可以在刪除了新輸入的 3 個字母之後,繼續向前刪除原有的兩個字元。

再設想乙個情況:有若干行文字,我們把游標移到中間某一行的行首,按 i 鍵進入 insert 模式,然後按一下 backspace。預設情況下,喇叭會「嘟」一聲,然後沒有任何動靜。如果我們「set backspace=eol」,則可以刪除前一行行末的回車,也就是說將兩行拼接起來。

當我們設定了自動縮排後,如果前一行縮排了一定距離,按下回車後,下一行也會保持相同的縮排。預設情況下,我們不能在 insert 模式下直接按 backspace 刪除行首的縮排。如果我們「set backspace=indent」,則可以開啟這一項功能。

上述三項功能,你可以根據自己的需要,選擇其中一種或幾種,用逗號分隔各個選項。建議把這三個選項都選上。

set whichwrap=b,s,<,>,[,]

預設情況下,在 vim 中當游標移到一行最左邊的時候,我們繼續按左鍵,游標不能回到上一行的最右邊。同樣地,游標到了一行最右邊的時候,我們不能通過繼續按右跳到下一行的最左邊。但是,通過設定 whichwrap 我們可以對一部分按鍵開啟這項功能。如果想對某乙個或幾個按鍵開啟到頭後自動折向下一行的功能,可以把需要開啟的鍵的代號寫到 whichwrap 的引數列表中,各個鍵之間使用逗號分隔。以下是 whichwrap 支援的按鍵名稱列表:

set encoding=utf-8

設定當前字元編碼為 utf-8。utf-8 是支援字符集最多的編碼之一,在 utf-8 下進行工作,會帶來許多方便之處。由於 vim 在執行過程中切換 encoding 會造成許多問題,如提示資訊亂碼、register 丟失等,因此強烈建議大家在啟動 vim 的時候把 encoding 設定為 utf-8,在編輯非 utf-8 的檔案時,通過 fileencoding 來進行轉碼。

set langmenu=zh_cn.utf-8

使用中文選單,並使用 utf-8 編碼。如果沒有這句的話,在非 utf-8 的系統,如 windows 下,用了 utf-8 的 encoding 後選單會亂碼。

language message zh_cn.utf-8

使用中文提示資訊,並使用 utf-8 編碼。如果沒有這句的話,在非 utf-8 的系統,如 windows 下,用了 utf-8 的 encoding 後系統提示會亂碼。

set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1

設定編碼的自動識別。關於這條設定的詳細含義,請參看這篇文章

。set ambiwidth=double

防止特殊符號無法正常顯示。在 unicode 中,許多來自不同語言的字元,如果字型足夠近似的話,會把它們放在同乙個編碼中。但在不同編碼中,字元的寬度是不一樣的。例如中文漢語拼音中的 ā 就很寬,而歐洲語言中同樣的字元就很窄。當 vim 工作在 unicode 狀態時,遇到這些寬度不明的字元時,預設使用窄字元,這會導致中文的破折號「——」非常短,五角星「★」等符號只能顯示一半。因此,我們需要設定 ambiwidth=double 來解決這個問題。

filetype plugin indent on

開啟檔案型別自動識別,啟用檔案型別外掛程式,啟用針對檔案型別的自動縮排。

// :0

//// switch 語句之下的 case 語句縮排 0 個空格,也就是說不縮排,與 switch 塊平

// 齊,使用這樣風格:

switch (x)

// g0

//// class、struct 等之下的訪問許可權控制語句,如 public、protected、private 等,

// 相對 class、struct 等所在的塊縮排 0 個空格,與 class 等塊平齊,使用這樣的

// 風格:

class foo ;

// t0

//// 如果函式返回值與函式名不在同一行,則返回值縮排 0 個空格,也就是說不縮排,如

// 下所示:

// set cino=t4

intfunc1()

// set cino=t0

intfunc()

// (sus

//// 當一對括號跨越多行時,其後的行縮排前面 sw 指定的距離,效果如下:

int a = (

1 + 

2 + 

3+ 4 + 

5 + 

6+ 7 + 

8) * 

9;

同乙個配色方案,在 gvim 下和字元介面的 vim 下效果大相徑庭,滇狐個人的習慣是,在 gvim 下使用 torte 配色方案,在 vim 下使用 ron 配色方案。因此我們有必要針對 gvim 和 vim 進行不同的設定。

另外,前面我們在 gvim 下不使用折行,開啟水平滾動條,但在 vim 下,是沒有滾動條可用的,因此還是有必要為 vim 保留自動折行。

修改預設MySQL配置 mysql預設配置修改

查詢mysql資料庫連線最大響應數 show global status like max used connections 查詢mysql資料庫最大連線數 show variables like max connections 對於mysql伺服器最大連線數值的設定範圍比較理想的是 伺服器響應的最...

vim配置修改教程

反操作基本在原操作前加上no即可。顯示行號 set nu 關閉行號 set nonu 開啟貼上模式 set paste 關閉貼上模式 我們可能有時記不清vim使用哪些配置檔案,可通過vim version檢視。一般推薦直接用 home vimrc base root ls virtual machi...

修改ubuntu預設編輯器為vim

修改ubuntu預設編輯器為vim 2012 08 31 10 45 16 收藏 修改ubuntu預設編輯器為vim 一般情況下,ubuntu終端下的預設編輯器為nano,我們直接編輯某個檔案,預設就會開啟nano。比如我們輸入 crontab e 的時候缺省會開啟nano編輯器。對於熟悉vim的朋...