【轉】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

配置文件實例

以下是本人的vim配置文件內容,供各位參考:

set ignorecase smartcase " 搜索時忽略大小寫,但在有一個或以上大寫字母時仍保持對大小寫敏感

set nu " 顯示行號
set ruler
set rulerformat=U(%{strftime('%a\ %b\ %e\ %I:%M\ %p')}\ %5l,%-6(%c%V%)\ %P%)
set guioptions+=b
set guioptions-=T

set paste
"set clipboard=unnamed " 讓Vim和Win共用剪貼板

set cursorline cursorcolumn

syntax enable " 打開語法高亮
syntax on " 允許按指定主題進行語法高亮,而非默認高亮主題
colorscheme xoria256 " 指定配色方案

set showcmd " 在命令行顯示當前輸入的命令

set langmenu=en_US " 將菜單和信息設置爲英文
let $LANG = 'en_US'
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim

set fileencoding=utf-8 " 設置多編碼處理
set encoding=utf-8
set tenc=utf-8
set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1
"language message zh_CN.UTF-8

filetype on " 開啓文件類型偵測
filetype plugin on " 根據偵測到的不同類型加載對應的插件


if has("autocmd") && exists("+omnifunc")
autocmd Filetype *
\ if &omnifunc == "" |
\ setlocal omnifunc=syntaxcomplete#Complete |
\ endif
endif

set laststatus=2 " 設置狀態欄
set statusline=%2*%n%m%r%h%w%*\ %F\ %1*[FORMAT=%2*%{&ff}:%{&fenc!=''?&fenc:&enc}%1*]\ [TYPE=%2*%Y%1*]\ [COL=%2*v%1*]\ [ROW=%2*l%1*/%3*%L(%p%%)%1*]\ [DATE=%2*%{strftime(\"%c\",getftime(expand(\"%%\")))}%1*]
"set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [ASCII=\.3b]\ [HEX=\.2B]\ [POS=l,v][%p%%]\ [LEN=%L]

function! InsertStatuslineColor(mode)
  if a:mode == 'i'
    hi statusline guibg=peru
  elseif a:mode == 'r'
    hi statusline guibg=blue
  else
    hi statusline guibg=black
  endif
endfunction

au InsertEnter * call InsertStatuslineColor(v:insertmode)
au InsertLeave * hi statusline guibg=orange guifg=white
hi statusline guibg=black

hi User1 guifg=gray
hi User2 guifg=red
hi User3 guifg=white

set winaltkeys=no

" map
nmap <tab> V>
nmap <s-tab> V<
vmap <tab> >gv
vmap <s-tab> <gv
" 打開另存爲對話框
map <F2> <Esc>:browse saveas<CR>
" 使用NERDTree插件查看工程文件
nmap <F3> :NERDTreeToggle planning<CR>
" 啓用/禁止折行
nmap <silent> <F5> <Esc>:call ToggleWrap()<CR>
" 顯示/禁止行列光標
nmap <silent> <F6> <Esc>:call ToggleCursor()<CR>
" 新建標籤頁
map <F10> <Esc>:tabnew<CR>
" 顯示/禁止查找高亮度
nmap <silent> <A-f> <Esc>:call ToggleHLSearch()<CR>

function! ToggleWrap()
     if &wrap
          set nowrap
     else
          set wrap
     endif
endfunction

function! ToggleHLSearch()
     if &hls
          set nohls
     else
          set hls
     endif
endfunction

function! ToggleCursor()
     if &cursorcolumn
          set nocursorline nocursorcolumn
     else
          set cursorline cursorcolumn
     endif
endfunction


let mapleader=";" " 定義快捷鍵的前綴,即<Leader>
nmap <leader>v :tabedit $MYVIMRC<CR>

" 配置文件
autocmd bufwritepost _vimrc source $MYVIMRC

" 設置文件格式
set fileformats=unix,dos,mac

" Template
autocmd! BufNewFile * silent! 0r $VIM/vimfiles/skel/Template.%:e

" 指定備份文件目錄
set backupdir=F:\Bak
set backupskip=D:/Temp/*

" 取消代碼自動摺疊
autocmd! BufNewFile,BufRead * setlocal nofoldenable
" 打開/關閉代碼摺疊
nnoremap <space> za

" 優化大文件編輯
let g:LargeFile=10

" 自動加載文件
set autoread

set list!
set listchars=nbsp:¬,tab:┈┈,precedes:«,extends:»,trail:™
hi NonText ctermfg=247 guifg=#a73111 cterm=bold gui=bold
hi SpecialKey ctermfg=77 guifg=#654321

augroup filetypedetect
   au BufNewFile,BufRead *.mxl setf mxl
augroup END



FROM: http://yyq123.blogspot.com/2012/01/vim-vimrc.html
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章