vim配置文件和插件管理

本文經過總結零碎的資料總結而成,更可能是去引導學習vim配置文件及插件使用。javascript

.vimrc配置文件,內容以下(備註清晰)

"引入插件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

  • pathogen是爲了解決每個插件安裝後文件分散到多個目錄很差管理而存在的。
  • vundle是爲了解決自動搜索及下載插件而存在的。

我我的使用的是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文件中配置插件,參考上面文檔內容,就能夠自定義顯示方式。經過選擇標籤也能夠實現直接跳轉功能,具體實現能夠查看幫助文檔。

NERD_commenter註釋代碼

xptemplate插件,代碼片斷補全

auto-pairs插件,用於自動補全括號,引號等

vim-Markdown插件,實現markdown高亮。

vim-surroun.vim插件,處理分隔符,包括添加、修改、刪除。

函數跳轉(沒有使用插件)

對於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標籤文檔。

vim使用建議(重要)

  1. 以上只是帶領你們簡單瞭解和配置vim,你們能夠按照前面介紹的把後面幾個推薦的插件安裝到本身的vim中。在之後學習中能夠慢慢的不斷完善配置文檔和插件的選擇,最後但願能有真正屬於本身而且適合本身的.vimrc。
  2. 在使用vim過程當中儘可能使用vim自帶的快捷鍵或功能,也儘可能不要過多的依賴使用不少插件,能夠避免在別人的電腦上原裝的vim什麼也不會操做。
  3. 若是換了主機,能夠經過將,.vim文件夾和.vimrc文件放置到github之類的代碼託管上,下次不管在誰的電腦上均可以很快拉取下來使用。下面是我本身託管在github上的連接,推薦你們使用:https://github.com/wuxiwei/vim

轉載請註明出處。
做者:wuxiwei
出處:http://www.cnblogs.com/wxw16/p/6259292.html

相關文章
相關標籤/搜索