歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Vim配置文件和插件管理

Vim配置文件和插件管理

日期:2017/2/28 13:44:49   编辑:Linux教程

本文通過總結零碎的資料總結而成,更多是去引導學習Vim配置文件及插件使用。

.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配置文件,一些基本的引導,可以自己做適合自己的快捷鍵或設置。

接下來具體記錄如何處理插件

(注:做同樣的事肯定存在多種選擇,插件也是,相同功能有很多不同插件可以實現,以下是我個人的選擇)

正常安裝插件較為繁瑣,需要到/usr/share/vim/vim**/文件下操作,插件比較不好管理,所以推薦使用插件管理器。pathogen和vundle都是用來管理vim插件的,但是其作用的方面不同。

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

我個人使用的是apthogen插件,當插件過多時,條理的安置插件才是最好的,另外大部分使用的插件可以看到並不會短期內更新。介紹pathogen插件:首先,在用戶目錄的.vim目錄下建立autoload目錄和bundle目錄,autoload目錄中放pathogen.vim。可以在~/.vim/autoload/目錄下,用如下命令下載

curl –Sso pathogen.vim https://raw.github.com/tpope/vim-pathogen/master/autoload/pathogen.vim

然後在配置文件的首行添加如下命令execute pathogen#infect(),回頭看看上方.vimrc配置文件開頭。

有了pathogen後,下載的插件就直接把它們放到bundle目錄下即可,而不需要管理相應的autoload、colors、plugin等目錄。添加help文件,在vim下用命令:helptags ~/.vim/doc/即可通過help命令查看插件文檔。
(注:哪怕插件只是一個.vim文件,也可以先新建一個文件夾,然後再建plugin文件夾,最後將該插件放入即可)

有了這麼好的插件管理器,安裝插件就變得非常方便,因為vim畢竟是IT開發人員開發出來的,所以vim最終受益者還會是開發人員,配置IDE開發環境插件。

文件浏覽插件

一個好的文件浏覽肯定少不了目錄樹,並且能夠方便切換。我推薦使用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.linuxidc.com/Linux/2017-01/139378.htm,這篇文章將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之類的代碼托管上,下次無論在誰的電腦上都可以很快拉取下來使用。

Vim 8.0 釋出 http://www.linuxidc.com/Linux/2016-09/135178.htm

Linux下編譯安裝Vim8.0 http://www.linuxidc.com/Linux/2017-01/139210.htm

Vim學習指南 http://www.linuxidc.com/Linux/2013-08/89096.htm

Vim編輯器配置 http://www.linuxidc.com/Linux/2016-09/135460.htm

Vim編輯器使用 http://www.linuxidc.com/Linux/2016-09/135043.htm

快速學會 Vi編輯器 http://www.linuxidc.com/Linux/2013-08/88586.htm

強大的Vim 編輯器 http://www.linuxidc.com/Linux/2013-07/87544.htm

Linux文本編輯器Vim的一般用法 http://www.linuxidc.com/Linux/2016-11/137263.htm

把Vim打造成優秀的C++ IDE http://www.linuxidc.com/Linux/2016-06/132262.htm

Ubuntu 14.04升級Vim7.4到8.0 http://www.linuxidc.com/Linux/2016-11/136816.htm

Vim安裝youcompleteme自動補全插件 http://www.linuxidc.com/Linux/2016-11/137665.htm

Linux Vim編輯器使用簡單講解 http://www.linuxidc.com/Linux/2016-12/138930.htm

Copyright © Linux教程網 All Rights Reserved