macOS中Vim基本配置,顏色主題/語法/indent設置

 

 

macOS中Vim基本配置

Vim的初始化配置 .vimrc

存放位置

macOS 環境下 vim 的初始化配置文件爲 .vimrc , 一般有兩個(系統版本和用戶版本),一個位於 /usr/share/vim/vimrc,是整個系統vim的默認配置;另外一個位於 ~/.vimrc,是當前用戶的 vim 配置,會覆蓋系統配置。可進入 vim,在命令模式下鍵入javascript

1
2
3
:version " 查看版本號
:echo $VIM " 查看vim具體路徑
:echo $HOME " 用戶主目錄

~/.vimrc 有時並不存在,此時能夠創建一個 .vimrc,放入用戶主目錄以實現當前用戶的 vim 配置php

主要命令參數

.vimrc 一般用於指定 vim 的編輯參數和外觀環境。下面列出經常使用的命令參數及其含義:css

MacVim是在Mac下很是好用的Vim軟件之一,並且還能夠經過安裝Exvim來對MacVim進行格式配置,使之更加易用。
 
Exvim:

Exvim是一個第三方vim的格式配置方案,旨在將vim變成一個IDE。html

官方網站:http://www.ex-dev.com/exvim/wiki/index.php?title=Main_Pagejava

安裝及配置:python

  1. 下載Exvim安裝包,解壓到~/文件夾下。安裝對應工具和配置。所用命令:
    cp -R toolkit ~/.toolkit 
    cp -R vimfiles ~/.vim
  2. 安裝外部工具(使用第三方軟件管理器)
    必裝工具:ctags,idutils,gawk,sed,findutils
    選裝工具:cscope,graphviz,source-highlight,python
  3. 設置toolkit路徑
    在.vimrc中添加toolkit路徑
    let g:ex_toolkit_path = ‘~/.toolkit’
  4. 設置.vimrc
    A. 依據.vimrc_ex在.vimrc中添加設置(未找到.vimrc_ex)
        - 直接引用
          在.vimrc中添加 source $VIM\.vimrc_ex
        - 添加代碼
    B. 必要的.vimrc設置
        let tags jump relate to current directory
        au BufNewFile,BufEnter * set cpoptions+=d
        avoid buffer close problem
        nnoremap <unique> <Leader>bd :call exUtility#Kwbd(1)<CR>
 
在安裝Exvim的過程當中會須要安裝一些外部工具以提供支持,在mac環境下就須要藉助一些第三方軟件資源管理器來達到這一目的。
  1. Brew
    軟件管理器,源代碼託管於git上:https://github.com/mxcl/homebrew/
    安裝命令:/usr/bin/ruby -e 「$(curl -fsSL https://raw.github.com/gist/323731)」
    經常使用命令:
         安裝:brew install + name
         幫助:brew help, man brew
         查看可用軟件:brew search
  2. Fink
    軟件管理器,官方網站:http://www.finkproject.org/index.php?phpLang=en
    安裝:
    (1) 下載源碼,解壓
          "tar -xvzf fink-0.31.3.tar.gz"    or    "tar -xvf fink-0.31.3.tar"
    (2) start boostrapping operation
          "./bootstrap"   or   "./bootstrap /path" (安裝fink到另外的路徑中)
    (3) 配置環境變量
          /sw/bin/pathsetup.sh
    (4) 重啓終端窗口使用新的環境變量
      (5)下載description files和patches
    fink selfupdate-rsync
    fink index –f
    使用:fink install + name
  3. Macport
    第三方軟件管理器,官方網站:http://www.macports.org/index.php
    安裝: 
    (1) 下載.dmg文件安裝
    (2) 設置環境變量
    export PATH=/opt/local/bin:$PATH
    export PATH=/opt/local/sbin:$PATH
    使用:
    - 更新ports tree和MacPorts版本,強烈推薦第一次運行的時候使用-v參數,顯示詳細的更新過程。
    sudo port -v selfupdate
    - 搜索索引中的軟件
    port search name
    - 安裝新軟件
    sudo port install name
    - 卸載軟件
    sudo port uninstall name
    - 查看有更新的軟件以及版本
    port outdated
    - 升級能夠更新的軟件
    sudo port upgrade outdated
    - Eclipse的插件須要subclipse須要JavaHL,下面經過MacPorts來安裝
    sudo port install subversion-javahlbinding
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
"打開語法高亮
syntax on

"使用配色方案
colorscheme desert

"打開文件類型檢測功能
filetype on

"不一樣文件類型採用不一樣縮進
filetype indent on

"容許使用插件
filetype plugin on
filetype plugin indent on

"關閉vi模式
set nocp

"與windows共享剪貼板
set clipboard+=unnamed

"取消VI兼容,VI鍵盤模式不易用
set nocompatible

"顯示行號, 或set number
set nu

"歷史命令保存行數
set history=100

"當文件被外部改變時自動讀取
set autoread

"取消自動備份及產生swp文件
set nobackup
set nowb
set noswapfile

"容許使用鼠標點擊定位
set mouse=a

"容許區域選擇
set selection=exclusive
set selectmode=mouse,key

"高亮光標所在行
set cursorline

"取消光標閃爍
set novisualbell

"老是顯示狀態行
set laststatus=2

"狀態欄顯示當前執行的命令
set showcmd

"標尺功能,顯示當前光標所在行列號
set ruler

"設置命令行高度爲3
set cmdheight=3

"粘貼時保持格式
set paste

"高亮顯示匹配的括號
set showmatch

"在搜索的時候忽略大小寫
set ignorecase

"高亮被搜索的句子
set hlsearch

"在搜索時,輸入的詞句的逐字符高亮(相似firefox的搜索)
set incsearch

"繼承前一行的縮進方式,特別適用於多行註釋
set autoindent

"爲C程序提供自動縮進
set smartindent

"使用C樣式的縮進
set cindent

"製表符爲4
set tabstop=4

"統一縮進爲4
set softtabstop=4
set shiftwidth=4

"容許使用退格鍵,或set backspace=2
set backspace=eol,start,indent
set whichwrap+=<,>,h,l

"取消換行
set nowrap

Vim 的語法高亮/配色方案

vim 的配色分兩部分:編輯環境配色和文本區域配色linux

1) 編輯環境配色:好比 vim 編輯區的前景背景色、狀態欄顏色、錯誤提示顏色、查找、光標、圈選區、行號、摺疊等的顏色c++

這裏列出幾個配色組名及其含義(所有的詳細信息查看幫助文件 :help hi 查找 highlight-group 便可):git

1
2
3
4
5
6
7
8
9
Cursor        # 光標下的字符顏色  
CursorLine # 光標所在行顏色
ErrorMsg # 命令行出現的錯誤信息提示
IncSearcg # 被搜索字符的顏色
Normal # 普通字符
Pmenu # 彈出的提示條目顏色
PmenuSel # 彈出的提示條目中被選中條目的顏色
SpellBad # 拼寫錯誤字符顏色
Visual # 可視化模式下選中字符的顏色

2) 文本區域配色:可編輯的文本區域的字符配色(所有的詳細信息查看幫助文件 :help hi 查找 *commentgithub

因爲配色種類較多,vim 默認分了幾大類(幫助信息中帶*的):

1
2
3
4
5
*Comment        # 註釋
*Constant # 常量
*statement # 經常使用關鍵字標示符
*PrePoc # 預處理符號
*Type # 數據類型

下面是較爲詳細的組別:

1
2
3
4
5
6
7
8
9
String          # 字符串常量: "string abc\n"
Character # 單個字符常量: 'c', '\n'
Number # 數字常量: 234, 0xff
Boolean # 布爾常量: TRUE, false
Function # 函數名
Conditional # 條件關鍵字: if, then, else, endif, switch, etc.
Repeat # 循環關鍵字: for, do, while, etc.
Operator # 操做符: "sizeof", "+", "*", etc.
Exception # 異常關鍵字: try, catch, throw

這樣即可以更爲詳細的爲每個組別進行配色

查看當前的 vim 配色狀況 :hi/highlight

另外,文本區域的配色能夠關閉,但環境配色不能,一般 vim 給定的默承認選配色方案中同時包含了以上兩個方面

下面就一條具體的配色命令(對數據類型配色)解釋每一個字段的含義:

1
hi Type cterm=none ctermbg=White ctermfg=Green guibg=Gray guifg=Red

hi: highlight 的縮寫,配色命令

Type: 配色組名,能夠自定義(修改$VIMRUNTIME/syntax/下對應的文件可改變不一樣語言的高亮方案)其內容

cterm,ctermbg,ctermfg,guibg,guifg: 表明了不一樣顯示環境

White,Green: 表示顏色(也能夠用數字或者相似與html的16進制顏色表示方法)

顯示環境有三種,黑白終端、彩色終端、圖形界面;三種環境下參數名稱以下:

1
2
3
4
5
6
7
term        # attributes in a B&W terminal
cterm # attributes in a color terminal
ctermfg # foreground color in a color terminal
ctermbg # background color in a color terminal
gui # attributes in the GUI
guifg # foreground color in the GUI
guibg # background color in the GUI

其中 term 僅有黑白兩色,cterm 下顏色較爲單一,GUI 模式顏色豐富

若要僅修改某種語言(c、Java、pascal)的配色,則在配色組名前加語言名稱便可,好比對 c/c++ 語言的數據類型單獨配色:

1
hi cType ctermfg=Blue

如果修改 java/pascal 的數據類型,則相應的將 cType 替換爲 javaType/pascalType 便可。

對於文本區域的語法高亮(即配色),咱們可根據需求特殊化定製,好比自定義組: myUniqueWord, mySymbol,使用 syn/syntax 命令

1
2
syn keyword myUniqueWord gang Gang swagger
syn match mySymbol "[,.;(){}[]]" # 可以使用正則表達式

vim 目前 7.4 版本給出的可直接使用(colorscheme 命令加於 .vimrc 中便可)的配色方案位於目錄:/usr/local/share/vim/vim74/colors,好比使用 desert.vim 中的配色,則於 .vimrc 中添加一行:colorscheme desert 便可

網友提供的配色方案列表(帶效果圖),可參考:

http://vimcolorschemetest.googlecode.com/svn/html/index-c.html

http://www.oschina.net/news/32306/10-vim-color-schemes-you-need-to-own

:hi/highlight 命令,可查看當前 vim 的顏色配置

:help hi/highlight 顯示幫助文件(syntax.txt)內容

可訪問官方在線版 http://vimdoc.sourceforge.NET/htmldoc/syntax.html ,介紹了顏色配置腳本中關鍵字的含義和使用方法

相同配色 vim 腳本在不一樣的終端下可能顯示不太一致,這是由終端下顏色設置不一致致使的,屬正常狀況。

 

 

 

 

 

 

 

在/Users/username 下面創建文件.vimrc ,將設置信息寫進文件中;這是用戶的配置信息,優先級最高;

   下面是個人的設置,這裏能夠根據本身的須要進行選擇性配置。

set nocompatible " 關閉 vi 兼容模式
syntax on " 自動語法高亮
colorscheme molokai " dracula 設定配色方案 molokai
set number " 顯示行號
set cursorline " 突出顯示當前行
set ruler " 打開狀態欄標尺
set shiftwidth=4 " 設定 << 和 >> 命令移動時的寬度爲 4
set softtabstop=4 " 使得按退格鍵時能夠一次刪掉 4 個空格
set tabstop=4 " 設定 tab 長度爲 4
set nobackup " 覆蓋文件時不備份
set autochdir " 自動切換當前目錄爲當前文件所在的目錄
filetype plugin indent on " 開啓插件
set backupcopy=yes " 設置備份時的行爲爲覆蓋
set ignorecase smartcase " 搜索時忽略大小寫,但在有一個或以上大寫字母時仍保持對大小寫敏感
set nowrapscan " 禁止在搜索到文件兩端時從新搜索
set incsearch " 輸入搜索內容時就顯示搜索結果
set hlsearch " 搜索時高亮顯示被找到的文本
set noerrorbells " 關閉錯誤信息響鈴
set novisualbell " 關閉使用可視響鈴代替呼叫
set t_vb= " 置空錯誤鈴聲的終端代碼
" set showmatch " 插入括號時,短暫地跳轉到匹配的對應括號
" set matchtime=2 " 短暫跳轉到匹配括號的時間
set magic " 設置魔術
set hidden " 容許在有未保存的修改時切換緩衝區,此時的修改由 vim 負責保存
set guioptions-=T " 隱藏工具欄
set guioptions-=m " 隱藏菜單欄
set smartindent " 開啓新行時使用智能自動縮進
set backspace=indent,eol,start
" 不設定在插入狀態沒法用退格鍵和 Delete 鍵刪除回車符
set cmdheight=1 " 設定命令行的行數爲 1
set laststatus=2 " 顯示狀態欄 (默認值爲 1, 沒法顯示狀態欄)

三、在設置中有一個比較重要的設置就是配色設置,這主要看我的喜歡什麼樣的顏色風格,網上有不少配色方案能夠下載,配色方案爲.vim後綴的文件。下載下來文件以後,在終端用

open /usr/share/vim命令打開vim文件夾,打開vim73>>colors,

  而後將下載下來的配色方案放進colors文件夾。這樣在.vimrc文件中配置coloscheme +配色方案名稱;就能夠應用新的配色方案了,我用的是molokai;

  另外,配方方案文件也是能夠本身修改的。

 

 

 

 

vim顏色主題設置:

/usr/share/vim/vim80/colors。

 

vim語法設置:/usr/share/vim/vim80/syntax。
 

indent設置:/usr/share/vim/vim80/indent。

$ ls /usr/share/vim/vim80/colors
blue.vim      delek.vim    evening.vim  murphy.vim     README.txt  torte.vim
darkblue.vim  desert.vim   koehler.vim  pablo.vim      ron.vim     zellner.vim
default.vim   elflord.vim  morning.vim  peachpuff.vim  shine.vim

而後再本身的~HOME/創建一個 .vimrc文檔 
[$ vi .vimrc
:colorscheme evening 

 

 

 

 


vim 配置文件 ,高亮+自動縮進+行號+摺疊+優化

將一下代碼copy到 用戶目錄下 新建文件爲  .vimrc
保存便可生效; 若是想全部用戶生效 請修改 /etc/vimrc (建議先cp一份)
"=========================================================================
" DesCRiption: 適合本身使用的vimrc文件,for Linux/Windows, GUI/Console
"
" Last Change: 2010年08月02日 15時13分 
"
" Version: 1.80
"
"=========================================================================

set nocompatible " 關閉 vi 兼容模式
syntax on " 自動語法高亮
colorscheme molokai " 設定配色方案
set number " 顯示行號
set cursorline " 突出顯示當前行
set ruler " 打開狀態欄標尺
set shiftwidth=4 " 設定 << 和 >> 命令移動時的寬度爲 4
set softtabstop=4 " 使得按退格鍵時能夠一次刪掉 4 個空格
set tabstop=4 " 設定 tab 長度爲 4
set nobackup " 覆蓋文件時不備份
set autochdir " 自動切換當前目錄爲當前文件所在的目錄
filetype plugin indent on " 開啓插件
set backupcopy=yes " 設置備份時的行爲爲覆蓋
set ignorecase smartcase " 搜索時忽略大小寫,但在有一個或以上大寫字母時仍保持對大小寫敏感
set nowrapscan " 禁止在搜索到文件兩端時從新搜索
set incsearch " 輸入搜索內容時就顯示搜索結果
set hlsearch " 搜索時高亮顯示被找到的文本
set noerrorbells " 關閉錯誤信息響鈴
set novisualbell " 關閉使用可視響鈴代替呼叫
set t_vb= " 置空錯誤鈴聲的終端代碼
" set showmatch " 插入括號時,短暫地跳轉到匹配的對應括號
" set matchtime=2 " 短暫跳轉到匹配括號的時間
set magic " 設置魔術
set hidden " 容許在有未保存的修改時切換緩衝區,此時的修改由 vim 負責保存
set guioptions-=T " 隱藏工具欄
set guioptions-=m " 隱藏菜單欄
set smartindent " 開啓新行時使用智能自動縮進
set backspace=indent,eol,start
" 不設定在插入狀態沒法用退格鍵和 Delete 鍵刪除回車符
set cmdheight=1 " 設定命令行的行數爲 1
set laststatus=2 " 顯示狀態欄 (默認值爲 1, 沒法顯示狀態欄)
set statusline=\ %<%F[%1*%M%*%n%R%H]%=\ %y\ %0(%{&fileformat}\ %{&encoding}\ %c:%l/%L%)\ 
" 設置在狀態行顯示的信息
set foldenable " 開始摺疊
set foldmethod=syntax " 設置語法摺疊
set foldcolumn=0 " 設置摺疊區域的寬度
setlocal foldlevel=1 " 設置摺疊層數爲
" set foldclose=all " 設置爲自動關閉摺疊 
" nnoremap <space> @=((foldclosed(line('.')) < 0) ? 'zc' : 'zo')<CR>
" 用空格鍵來開關摺疊


" return OS type, eg: windows, or linux, mac, et.st..
function! MySys()
if has("win16") || has("win32") || has("win64") || has("win95")
return "windows"
elseif has("unix")
return "linux"
endif
endfunction

" 用戶目錄變量$VIMFILES
if MySys() == "windows"
let $VIMFILES = $VIM.'/vimfiles'
elseif MySys() == "linux"
let $VIMFILES = $HOME.'/.vim'
endif

" 設定doc文檔目錄
let helptags=$VIMFILES.'/doc'

" 設置字體 以及中文支持
if has("win32")
set guifont=Inconsolata:h12:cANSI
endif

" 配置多語言環境
if has("multi_byte")
" UTF-8 編碼
set encoding=utf-8
set termencoding=utf-8
set formatoptions+=mM
set fencs=utf-8,gbk

if v:lang =~? '^\(zh\)\|\(ja\)\|\(ko\)'
set ambiwidth=double
endif

if has("win32")
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim
language messages zh_CN.utf-8
endif
else
echoerr "Sorry, this version of (g)vim was not compiled with +multi_byte"
endif

" Buffers操做快捷方式!
nnoremap <C-RETURN> :bnext<CR>
nnoremap <C-S-RETURN> :bprevious<CR>

" Tab操做快捷方式!
nnoremap <C-TAB> :tabnext<CR>
nnoremap <C-S-TAB> :tabprev<CR>

"關於tab的快捷鍵
" map tn :tabnext<cr>
" map tp :tabprevious<cr>
" map td :tabnew .<cr>
" map te :tabedit
" map tc :tabclose<cr>

"窗口分割時,進行切換的按鍵熱鍵須要鏈接兩次,好比從下方窗口移動
"光標到上方窗口,須要<c-w><c-w>k,很是麻煩,如今重映射爲<c-k>,切換的
"時候會變得很是方便.
nnoremap <C-h> <C-w>h
nnoremap <C-j> <C-w>j
nnoremap <C-k> <C-w>k
nnoremap <C-l> <C-w>l

"一些不錯的映射轉換語法(若是在一個文件中混合了不一樣語言時有用)
nnoremap <leader>1 :set filetype=xhtml<CR>
nnoremap <leader>2 :set filetype=css<CR>
nnoremap <leader>3 :set filetype=javascript<CR>
nnoremap <leader>4 :set filetype=php<CR>

" set fileformats=unix,dos,mac
" nmap <leader>fd :se fileformat=dos<CR>
" nmap <leader>fu :se fileformat=unix<CR>

" use Ctrl+[l|n|p|cc] to list|next|previous|jump to count the result
" map <C-x>l <ESC>:cl<CR>
" map <C-x>n <ESC>:cn<CR>
" map <C-x>p <ESC>:cp<CR>
" map <C-x>c <ESC>:cc<CR>


" 讓 Tohtml 產生有 CSS 語法的 html
" syntax/2html.vim,能夠用:runtime! syntax/2html.vim
let html_use_css=1

" Python 文件的通常設置,好比不要 tab 等
autocmd FileType python set tabstop=4 shiftwidth=4 expandtab
autocmd FileType python map <F12> :!python %<CR>

" 選中狀態下 Ctrl+c 複製
vmap <C-c> "+y

" 打開javascript摺疊
let b:javascript_fold=1
" 打開javascript對dom、html和css的支持
let javascript_enable_domhtmlcss=1
" 設置字典 ~/.vim/dict/文件的路徑
autocmd filetype javascript set dictionary=$VIMFILES/dict/javascript.dict
autocmd filetype css set dictionary=$VIMFILES/dict/css.dict
autocmd filetype php set dictionary=$VIMFILES/dict/php.dict

"-----------------------------------------------------------------
" plugin - bufexplorer.vim Buffers切換
" \be 全屏方式查看所有打開的文件列表
" \bv 左右方式查看 \bs 上下方式查看
"-----------------------------------------------------------------


"-----------------------------------------------------------------
" plugin - taglist.vim 查看函數列表,須要ctags程序
" F4 打開隱藏taglist窗口
"-----------------------------------------------------------------
if MySys() == "windows" " 設定windows系統中ctags程序的位置
let Tlist_Ctags_Cmd = '"'.$VIMRUNTIME.'/ctags.exe"'
elseif MySys() == "linux" " 設定windows系統中ctags程序的位置
let Tlist_Ctags_Cmd = '/usr/bin/ctags'
endif
nnoremap <silent><F4> :TlistToggle<CR>
let Tlist_Show_One_File = 1 " 不一樣時顯示多個文件的tag,只顯示當前文件的
let Tlist_Exit_OnlyWindow = 1 " 若是taglist窗口是最後一個窗口,則退出vim
let Tlist_Use_Right_Window = 1 " 在右側窗口中顯示taglist窗口
let Tlist_File_Fold_Auto_Close=1 " 自動摺疊當前非編輯文件的方法列表
let Tlist_Auto_Open = 0
let Tlist_Auto_Update = 1
let Tlist_Hightlight_Tag_On_BufEnter = 1
let Tlist_Enable_Fold_Column = 0
let Tlist_Process_File_Always = 1
let Tlist_Display_Prototype = 0
let Tlist_Compact_Format = 1


"-----------------------------------------------------------------
" plugin - mark.vim 給各類tags標記不一樣的顏色,便於觀看調式的插件。
" \m mark or unmark the word under (or before) the cursor
" \r manually input a regular expression. 用於搜索.
" \n clear this mark (i.e. the mark under the cursor), or clear all highlighted marks .
" \* 當前MarkWord的下一個 \# 當前MarkWord的上一個
" \/ 全部MarkWords的下一個 \? 全部MarkWords的上一個
"-----------------------------------------------------------------


"-----------------------------------------------------------------
" plugin - NERD_tree.vim 以樹狀方式瀏覽系統中的文件和目錄
" :ERDtree 打開NERD_tree :NERDtreeClose 關閉NERD_tree
" o 打開關閉文件或者目錄 t 在標籤頁中打開
" T 在後臺標籤頁中打開 ! 執行此文件
" p 到上層目錄 P 到根目錄
" K 到第一個節點 J 到最後一個節點
" u 打開上層目錄 m 顯示文件系統菜單(添加、刪除、移動操做)
" r 遞歸刷新當前目錄 R 遞歸刷新當前根目錄
"-----------------------------------------------------------------
" F3 NERDTree 切換
map <F3> :NERDTreeToggle<CR>
imap <F3> <ESC>:NERDTreeToggle<CR>


"-----------------------------------------------------------------
" plugin - NERD_commenter.vim 註釋代碼用的,
" [count],cc 光標如下count行逐行添加註釋(7,cc)
" [count],cu 光標如下count行逐行取消註釋(7,cu)
" [count],cm 光標如下count行嘗試添加塊註釋(7,cm)
" ,cA 在行尾插入 ,而且進入插入模式。 這個命令方便寫註釋。
" 注:count參數可選,無則默認爲選中行或當前行
"-----------------------------------------------------------------
let NERDSpaceDelims=1 " 讓註釋符與語句之間留一個空格
let NERDCompactSexyComs=1 " 多行註釋時樣子更好看


"-----------------------------------------------------------------
" plugin - DoxygenToolkit.vim 由註釋生成文檔,而且可以快速生成函數標準註釋
"-----------------------------------------------------------------
let g:DoxygenToolkit_authorName="Asins - asinsimple AT gmail DOT com"
let g:DoxygenToolkit_briefTag_funcName="yes"
map <leader>da :DoxAuthor<CR>
map <leader>df :Dox<CR>
map <leader>db :DoxBlock<CR>
map <leader>dc a <LEFT><LEFT><LEFT>


"-----------------------------------------------------------------
" plugin – ZenCoding.vim 很酷的插件,HTML代碼生成
" 插件最新版:http://github.com/mattn/zencoding-vim
" 經常使用命令可看:http://nootn.com/blog/Tool/23/
"-----------------------------------------------------------------


"-----------------------------------------------------------------
" plugin – checksyntax.vim JavaScript常見語法錯誤檢查
" 默認快捷方式爲 F5
"-----------------------------------------------------------------
let g:checksyntax_auto = 0 " 不自動檢查


"-----------------------------------------------------------------
" plugin - NeoComplCache.vim 自動補全插件
"-----------------------------------------------------------------
let g:AutoComplPop_NotEnableAtStartup = 1
let g:NeoComplCache_EnableAtStartup = 1
let g:NeoComplCache_SmartCase = 1
let g:NeoComplCache_TagsAutoUpdate = 1
let g:NeoComplCache_EnableInfo = 1
let g:NeoComplCache_EnableCamelCaseCompletion = 1
let g:NeoComplCache_MinSyntaxLength = 3
let g:NeoComplCache_EnableSkipCompletion = 1
let g:NeoComplCache_SkipInputTime = '0.5'
let g:NeoComplCache_SnippetsDir = $VIMFILES.'/snippets'
" <TAB> completion.
inoremap <expr><TAB> pumvisible() ? "\<C-n>" : "\<TAB>"
" snippets expand key
imap <silent> <C-e> <Plug>(neocomplcache_snippets_expand)
smap <silent> <C-e> <Plug>(neocomplcache_snippets_expand)


"-----------------------------------------------------------------
" plugin - matchit.vim 對%命令進行擴展使得能在嵌套標籤和語句之間跳轉
" % 正向匹配 g% 反向匹配
" [% 定位塊首 ]% 定位塊尾
"-----------------------------------------------------------------


"-----------------------------------------------------------------
" plugin - vcscommand.vim 對%命令進行擴展使得能在嵌套標籤和語句之間跳轉
" SVN/git管理工具
"-----------------------------------------------------------------


"-----------------------------------------------------------------
" plugin – a.vim
"-----------------------------------------------------------------

在vim啓動過程當中,首先將查找配置文件並執行其中的命令。而這些初始化文件通常有vimrc、gvimrc和exrc三種。

利用:version命令,能夠獲得配置文件的詳細信息。

version-vimrc

注意:若是執行gvim,那麼$VIMRUNTIME/menu.vim也會被執行。

配置文件位置

vimrc是主配置文件,它有全局和用戶兩種版本。

全局vimrc文件,存放在Vim的安裝目錄中。可使用如下命令,肯定Vim的安裝目錄:

:echo $VIM

默認狀況下,系統vimrc存放在如下位置:

Linux: /usr/share/vim/vimrc

Windows: c:\program files\vimrc

用戶vimrc文件,存放在用戶主目錄中。可使用如下命令,肯定用戶主目錄:

:echo $HOME

默認狀況下,用戶vimrc存放在如下位置:

Linux: /home/username/.vimrc

Windows: c:\documents and settings\username\_vimrc

注意:用戶配置文件優先於系統配置文件。

gvimrc是GVIM的配置文件,它也有全局和用戶兩種版本,而且存放在與vimrc相同的目錄中。

默認狀況下,系統gvimrc存放在如下位置:

Linux: /usr/share/vim/gvimrc

Windows: c:\program files\vim\_gvimrc

默認狀況下,用戶gvimrc存放在如下位置:

Linux: /home/username/.gvimrc

Windows: c:\documents and settings\username\_gvimrc

exrc文件,僅用於向後兼容olvi/ex,它的全局和用戶兩種版本也放置於vimrc相同的目錄裏。除非你使用vi-compatible模式,不然不須要關注exrc配置文件。

注意:在Unix和Linux下,vim的配置文件被命名爲以點開頭的隱藏文件;而在Windows下,配置文件則如下劃線開頭命名。

編輯配置文件

可使用如下命令,新建緩衝區來編輯配置文件:

:edit $MYVIMRC

也可使用如下命令,新建標籤頁來編輯配置文件:

:tabedit $MYVIMRC

例如,咱們能夠在配置文件中使用如下命令,來設置vim的選項:

:syntax on "打開語法加亮功能

:set shiftwidth=4 "設置縮進寬度爲4個空格

其中,單引號(")爲註釋內容。

應用配置文件

修改配置文件後,須要從新啓動Vim,或使用:source命令來應用新的設置:

:source $MYVIMRC

咱們能夠在配置文件中增長如下命令,在保存後自動應用配置:

autocmd bufwritepost .vimrc source $MYVIMRC

相關文章
相關標籤/搜索