本文經過總結零碎的資料總結而成,更可能是去引導學習vim配置文件及插件使用。javascript
"引入插件pathogen使用 execute pathogen#infect() call pathogen#helptags() "禁用vi兼容模式 set nocompatible "vim的內部編碼 set encoding=utf-8 "vim在與屏幕和鍵盤交互師傅使用的編碼(取決於實際的終端的設定) set termencoding=utf-8 "vim打開文件時的嘗試使用的編碼 set fileencodings=utf-8,gbk,gb2312,default,latin1 "開啓語法高亮功能 syntax enable "容許用指定高亮替換方案 syntax on "顯示行號 set nu "括號匹配 set showmatch "自動檢測文件類型 filetype plugin indent on "在縮進和遇到Tab鍵時使用空格替代 set expandtab "根據文件類型設置縮進格式 au FileType html,vim,javascript setl shiftwidth=2 au FileType html,vim,javascript setl tabstop=2 au FileType java,php,pathon setl shiftwidth=4 au FileType java,php,pathon setl tabstop=4 "啓動vim時不要自動摺疊代碼 set foldlevel=100 "自動對齊 set ai "根據下面的格式對齊 set si set smarttab set wrap set lbr set tw=0 set foldmethod=syntax "老是顯示狀態欄 set laststatus=2 "顯示光標當前位置 set ruler "高亮顯示當前行 set cursorline "高亮顯示搜索結果 set hlsearch "禁止拆行 set nowrap "設置快捷鍵前最,即<Leader> let mapleader=":" "設置快捷鍵將選中文本塊複製到系統剪貼板 map <Leader>y "+y "設置快捷鍵將系統剪貼板內容粘帖到vim map <Leader>p "+p noremap <F9> :!ctags -R<CR> "設置tags文件爲當前目錄下的tags,默認狀況也是 "set tags+=./tags "配置文件.vimrc更改後自動從新載入使設置生效 autocmd! bufwritepost .vimrc source ~/.vimrc "vim對一些流行的編程語言的語法提供自動完成的功能,可是默認是沒有啓用。 autocmd FileType php set omnifunc=phpcomplete#CompletePHP autocmd FileType html set omnifunc=htmlcomplete#CompleteTags autocmd FileType css set omnifunc=csscomplete#CompleteCSS "vim對一些語言實現的格式化命令 "在命令模式下直接輸入「gg=G」。 " "如下爲插件設置參數 " "----------------------------------------------------------------- "auto-pairs插件,用於自動補全括號,引號等 " "----------------------------------------------------------------- "vim-surroun.vim插件,處理分隔符,包括添加、修改、刪除。 "添加"",選擇內容,輸入S"。 "修改""爲'',在分隔符內部,輸入cs"'。 "刪除"",在分隔符內部,輸入ds"。 "刪除<>xml標籤時,t能夠代替<>xml標籤。 " "----------------------------------------------------------------- "nerdtree插件,目錄樹。 "設置默認開啓 autocmd vimenter * NERDTree "打開關閉快捷鍵 map <F3> :NERDTreeToggle<CR> "當只剩下目錄樹時,自動關閉vim。 autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTreeType") &&b:NERDTreeType == "primary") | q | endif " "----------------------------------------------------------------- "xptemplate插件,代碼片斷補全 "提示方式:Ctrl+\。 " "vim-Markdown插件,實現markdown高亮。 " "tagbar插件顯示方法屬性列表 map <silent> <F4> :TagbarToggle<CR> let g:tagbar_width=30 let g:tagbar_autofocus=1 " "----------------------------------------------------------------- "NERD_commenter.vim 註釋代碼用的, "[count]<Leader>cc 光標如下count行逐行添加註釋(7,cc) "[count]<Leader>cu 光標如下count行逐行取消註釋(7,cu) "[count]<Leader>cm 光標如下count行嘗試添加塊註釋(7,cm) "<Leader>cA 在行尾插入 /* */,而且進入插入模式。 這個命令方便寫註釋。 "注:count參數可選,無則默認爲選中行或當前行 "----------------------------------------------------------------- let NERDSpaceDelims=1 " 讓註釋符與語句之間留一個空格 let NERDCompactSexyComs=1 " 多行註釋時樣子更好看"
這份配置文件只能是基礎使用,開始是簡單的字符編碼設置,再是語法高亮(VIM自帶javascript語法高亮,可是自帶的那個位於syntax目錄下的javascript.vim那個配置文件比較弱,有不少關鍵詞沒有高亮。咱們能夠到www.vim.org搜索最新的javascript.vim代替了原來的那個文件的),其次是對Tab鍵的設置,而且能夠設置根據不一樣文件區分Tab鍵寬度。最後是對快捷鍵的設置,注意這裏的複製粘帖是指vim以外電腦自己的剪切板。
以上就是.vimrc配置文件,一些基本的引導,能夠本身作適合本身的快捷鍵或設置。php
(注:作一樣的事確定存在多種選擇,插件也是,相同功能有不少不一樣插件能夠實現,如下是我我的的選擇)css
正常安裝插件較爲繁瑣,須要到/usr/share/vim/vim**/文件下操做,插件比較很差管理,因此推薦使用插件管理器。pathogen和vundle都是用來管理vim插件的,可是其做用的方面不一樣。html
我我的使用的是apthogen插件,當插件過多時,條理的安置插件纔是最好的,另外大部分使用的插件能夠看到並不會短時間內更新。介紹pathogen插件:首先,在用戶目錄的.vim目錄下創建autoload目錄和bundle目錄,autoload目錄中放pathogen.vim。能夠在~/.vim/autoload/目錄下,用以下命令下載java
curl –Sso pathogen.vim https://raw.github.com/tpope/vim-pathogen/master/autoload/pathogen.vim
而後在配置文件的首行添加以下命令execute pathogen#infect()
,回頭看看上方.vimrc配置文件開頭。linux
有了pathogen後,下載的插件就直接把它們放到bundle目錄下便可,而不須要管理相應的autoload、colors、plugin等目錄。添加help文件,在vim下用命令:helptags ~/.vim/doc/
便可經過help命令查看插件文檔。
(注:哪怕插件只是一個.vim文件,也能夠先新建一個文件夾,而後再建plugin文件夾,最後將該插件放入便可)git
有了這麼好的插件管理器,安裝插件就變得很是方便,由於vim畢竟是IT開發人員開發出來的,因此vim最終受益者還會是開發人員,配置IDE開發環境插件。github
一個好的文件瀏覽確定少不了目錄樹,而且可以方便切換。我推薦使用NERDTree。咱們先安裝而後後續能夠本身多看文檔,正如我前面所說的有了好的插件管理器,就能夠很方便完成安裝使用。咱們能夠直接去到官網http://www.vim.org/scripts/script.php?script_id=1658選擇最新版本直接下載便可。咱們將壓縮包解壓之後,經過cp命令行將文件夾直接複製到~/.vim/bundle/下便可,能夠打開vim,並在並在命令行輸入:NERDTree,並能夠看到左邊跳出當前文件下的目錄樹,爲了便於方即可以設置每次打開vim自動跳出NERDTree因此咱們能夠在.vimrc文件中設置,同時能夠設置打開關閉快捷鍵。是否是很方便!數據庫
對於常常寫代碼來講,有Tabular會很方便,文本能夠按等號,冒號等來對齊文本。咱們仍是先直接安裝插件,到https://github.com/godlygeek/tabular下載,此次是git上的一個項目,不用慌仍是直接下載便可,獲得安裝包後解壓到~/.vim/bundle/便可直接使用。編程
tagbar插件顯示方法屬性列表,幫助開發人員查看當前文件中的宏、全局變量、函數等標籤,先經過http://www.vim.org/scripts/script.php?script_id=3465安裝,而後在.vimrc文件中配置插件,參考上面文檔內容,就能夠自定義顯示方式。經過選擇標籤也能夠實現直接跳轉功能,具體實現能夠查看幫助文檔。
對於IDE而言也算最基本也是最方便的功能之一了吧。正常狀況下能夠下載插件,可是我選擇使用vim自帶的跳轉,快捷鍵:control+]
跳入,control+o
返回。
可是任何方法都要基於tags來實現。這裏很少加解釋,須要本身慢慢去啃。。。http://www.java123.net/v/583584.html,這篇文章將tags介紹的很詳細,簡單的說tags是一個linux上很廣泛的源碼分析工具, 能夠將代碼中的函數變量等定義的位置記錄在一個名稱爲tags的文件,相似於數據庫記錄功能,而接下來的插件就是須要用的這些標籤,能夠經過命令sudo apt-get install ctags
進行安裝(Ubuntu下),而後在工做目錄下生成tags標籤文件,最方便的命令是ctags -R
直接根據目錄下全部文件來獲取標籤,相似於函數名,變量名等,最後在.vimrc文件中添加路徑:set tags+=/home/user/tags
就可讓vim在每次啓動的時候自動找到tags標籤文檔。
轉載請註明出處。
做者:wuxiwei
出處:http://www.cnblogs.com/wxw16/p/6259292.html