[精讚] [會員登入]
4629

Vim .vimrc 設定,讓vim更好用

vim 是 unix-like 系統中最常用的編輯器,經由妥善的設定讓vim更好用

此文完整連結 http://n.sfs.tw/10416

複製連結 Vim .vimrc 設定,讓vim更好用@新精讚
(文章歡迎轉載,務必尊重版權註明連結來源)
2019-10-25 10:20:09 最後編修
2016-12-11 11:58:25 By 張○○
 

自動目錄

vim 是 unix-like 系統中最常用的編輯器,像我用習慣了,程式會直接在 vim上編寫,雖然他不是很好用,但是「習慣」是個可怕的東西。

vim 在各系統中的全域設定

vim的全域設定檔設置以後,所有登入者若沒有自定的設定,會以此為準,

[FREEBSD]

全域設定檔:
/usr/local/share/vim/vimrc

修改自我校正顏色的檔案:
# vi /usr/local/share/vim/vimxx/filetype.vim

或 /usr/share/vim/vimxx/filetype.vim
# vi /usr/local/share/vim/vimxx/filetype.vim
xx 是vim的版本

例如以下檔案類型設成和php一樣:
au BufNewFile,BufRead *.php,*.php\d,*.phtml,*.ctp,*.thtml setf php

[RED Hat 系列 LINUX]

全域設定檔  /etc/vimrc

修改自我校正顏色的檔案:
# vi /usr/share/vim/vimxx/filetype.vim
xx 是vim的版本

[MAC OSX]

全域設定檔 /usr/share/vim/vimrc

此檔是readonly權限,只有administrator群組才能異動

在家目錄設置自己的vim設定

在家目錄建立檔案 .vimrc ,把要設置的參數貼入即可,請參考以下設置參數
$ cd ~
$ vi .vimrc

vim設定之參數

vim 設定可分為全域及local,全域的設定會影響每個使用者;local的設定只會影響該使用者,當兩者並存時,會以local優先。

全域的設定檔位置列於一、二兩節;而local的設定檔是在自己的家目錄下 .vimrc 的檔案。其內容常見參數如下:

1. set ruler
設定尺規,設定完畢下方會出現一個這樣的東西,顯示檔名、總行數、總字元數、目前第幾行、在第幾個字元、在文章的什麼位置
"auth.php" 353L, 13110C                                                                                  20,0        Top

2. set hls / set nohls
搜索時高亮反白/取消反白顯示被找到的字串,有時反白位置很清楚,但被反白後的字看不清楚,可自由設定。

3. syntax on
打開關鍵字色,一定要打開,幫助我們編輯文件。

4. set tabstop=4
Tab 寬度為 4 個字元,也就是代表按tab時的空格數。按一下tab 跳4個字元。

5. set showmatch
顯示括號配對情況。 打開這個選項後, 當輸入後括號 (包括小括號、中括號、大括號) 的時候, 光標會跳回前括號片刻, 然後跳回來, 以此顯示括號的配對情況,這個在寫很亂的程式時滿有用的。

6. set nocompatible
讓 VIM 工作在「非相容模式」下:也就是不理會他的前身編輯器 vi,在「相容模式」中 VIM 將放棄這些新的功能, 儘量模仿 vi 的各種操作方式;只有在「非相容模式」下, 才能更好地發揮 VIM 自身的特點,所以除非 vi 用習慣,否則這行一定要設定。

VIM 許多操作與 vi 很相似, 但也有許多操作與 vi 是不一樣的。 如果使用「:set cp」命令打開了兼容模式開關的話, VIM 將儘可能模仿 vi 的操作模式。

例如:VIM 裡允許在 Insert 模式下使用方向鍵移動光標, 而 vi 裡在 Insert 模式下是不能移動光標的, 必須使用 ESC 退回到 Normal 模式下才行。

再舉一個例子, vi 裡命令模式下使用 u 命令可以撤消一次先前的操作, 再次按下 u 時, 將撤消「撤消」這個動作本身, 也就是我們常說的「重做」(redo)。
而 VIM 裡可以使用 u 命令撤消多步操作, 「Redo」使用的快捷鍵是 Ctrl + R

7. set incsearch
搜索時在未完全輸入完畢要檢索的文本時就開始檢索。

8. set history=1000
設定命令儲存行數

9. set background=dark
設定背景顏色

10. set shiftwidth=4
設定自動縮進時字元數,此功能需打開自動縮進的功能 set cin,這個數值最好設定和 set tabstop相同,

這個功能主要自vim在進行自動格式時(auto format)的縮進的字元數,可以讓程式碼更美觀。

使用方法:

1. 到你要auto format 的程式碼處按大寫的V
2. 移動上下鍵選取範圍
3. 按=來自動格式化

11. set backspace=2
設定按下「BACKSPACE」鍵時,他會縮進任何東西,例如到已到行首,再按「BACKSPACE」會刪除前一行行末,請務必加此行作為預設值。

 

12. 設定搜尋項有顏色標注

set hlsearch
hi Search ctermbg=LightYellow
hi Search ctermfg=Red

 

設定檔整理

set nocompatible
set backspace=2
set ruler
filetype on
set history=1000
set background=dark
syntax on
set tabstop=4
set shiftwidth=4
set showmatch
set nohls
set incsearch

原文2009-11-16 22:48:44

你可能感興趣的文章

Vim .vimrc 設定,讓vim更好用 vim 是 unix-like 系統中最常用的編輯器,經由妥善的設定讓vim更好用

windows, linux, freebsd 下安裝git windows, linux, freebsd 下安裝git

安裝git centos/freebsd/windows安裝git

利用tr如何移除檔案中的 ^M 利用tr如何移除檔案中的換行 ^M

FREEBSD、LINUX和MAC拷背目錄的差別 原本以為cp複製一個目錄,但在FREEBSD、LINUX和MAC竟有不同的表現情況

[find] 活用 find 指令參數-exec 執行找到的結果 在linux/ freebsd 中查找檔案最強的就是 find,他有一個參數相當好用:-exec

時間和時區CST UTC GMT的說明及設定 時間和時區CST DST UTC GMT的說明設定,及php時間的設置

[SIP] Kphone安裝記錄 Kphone是2008年當時ipv6剛要推廣時,唯一支援IPv6的公用網路電話,安裝的全記錄..

[find] 活用 find 指令參數-atime -Btime -ctime -mtime 限制尋找時間 活用 find 指令參數-atime -Btime -ctime -mtime 限制尋找時間

[CSH/TCSH] 使用tcsh SHELL #2 --檢查、傳值 6. 檔案或目錄的檢查 SHELL 中常會用到檔案或目錄的檢查,一般性的語法是: if [ Operator

我有話要說


限制:留言最高字數1000字,超過部分會被截掉。請注意:留言不可帶有網址,會被濾掉。 限制:未登入訪客,每則留言間隔需超過10分鐘,每日最多5則留言。

訪客留言

[無留言]

隨機好文

[Freebsd] 使用 ADSL 撥接上網 Freebsd上要使用 ADSL 撥接上網,該如何設定?

Smarty安裝 smarty 是著名的樣版引擎,非常的好用,用多了突然發現拿掉smarty反而不會寫php了,以下是安裝過程..

[AS3] 我做的唯一一個Flash As3遊戲UFO INVADSION [AS3] 我做的唯一一個Flash As3遊戲,是第一個也是最後一個,後來就沒再寫as3,不過as3還滿好玩的。

正則表達式:Email名稱防止連續輸入點(.)及下底線(_) Email的名稱中要允許特殊符號,但又不允許連續出現的正則表達式

[PHP]解決ksort新增的SORT_NATURAL|SORT_FLAG_CASE方法 php>=5.4中ksort函數多了SORT_NATURAL 和 SORT_FLAG_CASE 旗標,對舊版的PHP中要怎麼辦?