VIM學習筆記 設定檔(vimrc)

來源:互聯網
上載者:User
VIM學習筆記 設定檔(vimrc)

在vim啟動過程中,首先將尋找設定檔並執行其中的命令。而這些初始設定檔案一般有vimrc、gvimrc和exrc三種。

利用:version命令,可以得到設定檔的詳細資料。

注意:如果執行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 rulerset rulerformat=%55(%{strftime('%a\ %b\ %e\ %I:%M\ %p')}\ %5l,%-6(%c%V%)\ %P%)set guioptions+=bset guioptions-=Tset paste"set clipboard=unnamed " 讓Vim和Win共用剪貼簿set cursorline cursorcolumnsyntax enable " 開啟文法高亮syntax on " 允許按指定主題進行文法高亮,而非預設高亮主題colorscheme xoria256 " 指定色彩配置set showcmd " 在命令列顯示當前輸入的命令set langmenu=en_US " 將菜單和資訊設定為英文let $LANG = 'en_US'source $VIMRUNTIME/delmenu.vimsource $VIMRUNTIME/menu.vimset fileencoding=utf-8 " 設定多編碼處理set encoding=utf-8set tenc=utf-8set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1"language message zh_CN.UTF-8filetype on " 開啟檔案類型偵測filetype plugin on " 根據偵測到的不同類型載入對應的外掛程式if has("autocmd") && exists("+omnifunc")autocmd Filetype *\ if &omnifunc == "" |\ setlocal omnifunc=syntaxcomplete#Complete |\ endifendifset 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*%03v%1*]\ [ROW=%2*%03l%1*/%3*%L(%p%%)%1*]\ [DATE=%2*%{strftime(\"%c\",getftime(expand(\"%%\")))}%1*]"set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [ASCII=\%03.3b]\ [HEX=\%02.2B]\ [POS=%04l,%04v][%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  endifendfunctionau InsertEnter * call InsertStatuslineColor(v:insertmode)au InsertLeave * hi statusline guibg=orange guifg=whitehi statusline guibg=blackhi User1 guifg=grayhi User2 guifg=redhi User3 guifg=whiteset winaltkeys=no" mapnmap <tab> V>nmap <s-tab> V<vmap <tab> >gvvmap <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     endifendfunctionfunction! ToggleHLSearch()     if &hls          set nohls     else          set hls     endifendfunctionfunction! ToggleCursor()     if &cursorcolumn          set nocursorline nocursorcolumn     else          set cursorline cursorcolumn     endifendfunctionlet mapleader=";" " 定義快速鍵的首碼,即<Leader>nmap <leader>v :tabedit $MYVIMRC<CR>" 設定檔autocmd bufwritepost _vimrc source $MYVIMRC" 設定檔案格式set fileformats=unix,dos,mac" Templateautocmd! BufNewFile * silent! 0r $VIM/vimfiles/skel/Template.%:e" 指定備份檔案目錄set backupdir=F:\Bakset backupskip=D:/Temp/*" 取消代碼自動摺疊autocmd! BufNewFile,BufRead * setlocal nofoldenable" 開啟/關閉程式碼摺疊功能nnoremap <space> za" 最佳化大檔案編輯let g:LargeFile=10" 自動負載檔案set autoreadset list!set listchars=nbsp:¬,tab:┈┈,precedes:«,extends:»,trail:hi NonText ctermfg=247 guifg=#a73111 cterm=bold gui=boldhi SpecialKey ctermfg=77 guifg=#654321augroup filetypedetect   au BufNewFile,BufRead *.mxl setf mxlaugroup END



FROM: http://yyq123.blogspot.com/2012/01/vim-vimrc.html

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.