使用vim配置個人的c開發IDE

vim個人常用配置文件

首先安裝Vumdle,一個vim的插件管理工具:

git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim

然後,將下面的內容拷貝到~/.vimrc中。

set nocompatible              " 去除VI一致性,必須
filetype off                  " 必須

" ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
" ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
" 設置包括vundle和初始化相關的runtime path
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin() " 另一種選擇, 指定一個vundle安裝插件的路徑 
" call vundle#begin('~/some/path/here')
" ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
" ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

" ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 
" ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 
" 讓vundle管理插件版本,必須
Plugin 'VundleVim/Vundle.vim' "這個插件需要去github下載安裝後,這個.vimrc纔好用
" ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
" ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

" ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 
" ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 
" 以下範例用來支持不同格式的插件安裝.
" 這裏相當於Vundle的幫助,教你如何設置想要安裝的插件
" 請將安裝插件的命令放在vundle#begin和vundle#end之間.
" Github上的插件
" 格式爲 Plugin '用戶名/插件倉庫名'
Plugin 'tpope/vim-fugitive'

" 來自 http://vim-scripts.org/vim/scripts.html 的插件
" Plugin '插件名稱' 實際上是 Plugin 'vim-scripts/插件倉庫名' 只是此處的用戶名可以省略
Plugin 'L9'

" 由Git支持但不再github上的插件倉庫 Plugin 'git clone 後面的地址'
" Plugin 'git://git.wincent.com/command-t.git'

" 本地的Git倉庫(例如自己的插件) Plugin 'file:///+本地插件倉庫絕對路徑'
" Plugin 'file:///home/gmarik/path/to/plugin'

" 插件在倉庫的子目錄中.
" 正確指定路徑用以設置runtimepath. 以下範例插件在sparkup/vim目錄下
" Plugin 'rstacruz/sparkup', {'rtp': 'vim/'}

" 安裝L9,如果已經安裝過這個插件,可利用以下格式避免命名衝突
" Plugin 'ascenator/L9', {'name': 'newL9'}
" ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
" ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


" ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
" ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
" 這裏是個人安裝的一些插件
Plugin 'szw/vim-tags'           "ctags 爲了查看函數定義     ctags需要手動安裝
Plugin 'brookhong/cscope.vim'       "cscope 查找函數調用關係等  cscope需要手動安裝
Plugin 'vim-scripts/taglist.vim'    "查看函數列表
Plugin 'scrooloose/nerdtree'        "查看樹結構
Plugin 'vim-scripts/winmanager'     "組織窗口結構
Plugin 'scrooloose/nerdcommenter'   "註釋使用
Plugin 'Shougo/neocomplete.vim'     "自動補全
Plugin 'vim-airline/vim-airline'    "狀態欄

Plugin 'godlygeek/tabular'
Plugin 'plasticboy/vim-markdown'    "這兩個配合爲了生成markdown
Plugin 'iamcco/mathjax-support-for-mkdp'
Plugin 'iamcco/markdown-preview.vim'	"這兩個配合爲了markdown效果顯示

Plugin 'vim-scripts/DoxygenToolkit.vim' "自動註釋
" ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
" ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


" ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
" ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
" 你的所有插件需要在下面這行之前
call vundle#end()            " 必須
filetype plugin indent on    " 必須 加載vim自帶和插件相應的語法和文件類型相關腳本
" +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
" +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

" 忽視插件改變縮進,可以使用以下替代:
"filetype plugin on

" 簡要幫助文檔
" :PluginList       - 列出所有已配置的插件
" :PluginInstall    - 安裝插件,追加 `!` 用以更新或使用 :PluginUpdate
" :PluginSearch foo - 搜索 foo ; 追加 `!` 清除本地緩存
" :PluginClean      - 清除未使用插件,需要確認; 追加 `!` 自動批准移除未使用插件

" 查閱 :h vundle 獲取更多細節和wiki以及FAQ
" 將你自己對非插件片段放在這行之後

" +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
" +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
" 這裏開始對每個工具的使用進行配置
set tabstop=4                       "設置tab前進四個空格
set nu                              "設置行號

set exrc                            "這兩行的設置可以使vim識別不同路徑下的.vimrc
set secure                          "這裏主要爲了方便多個項目時不同的環境設置,例如不同項目的ctag,或者縮進等等

" 以下幾行是爲了設置cscope的一些映射的,爲了避免:call xxxx()
" 這裏的leader默認是\
nnoremap <leader>fa :call CscopeFindInteractive(expand('<cword>'))<CR>
nnoremap <leader>l :call ToggleLocationList()<CR>
" s: Find this C symbol
nnoremap  <leader>fs :call CscopeFind('s', expand('<cword>'))<CR>
" g: Find this definition
nnoremap  <leader>fg :call CscopeFind('g', expand('<cword>'))<CR>
" d: Find functions called by this function
nnoremap  <leader>fd :call CscopeFind('d', expand('<cword>'))<CR>
" c: Find functions calling this function
nnoremap  <leader>fc :call CscopeFind('c', expand('<cword>'))<CR>
" t: Find this text string
nnoremap  <leader>ft :call CscopeFind('t', expand('<cword>'))<CR>
" e: Find this egrep pattern
nnoremap  <leader>fe :call CscopeFind('e', expand('<cword>'))<CR>
" f: Find this file
nnoremap  <leader>ff :call CscopeFind('f', expand('<cword>'))<CR>
" i: Find files #including this file
nnoremap  <leader>fi :call CscopeFind('i', expand('<cword>'))<CR>
" 以上幾行是爲了設置cscope的一些映射的,爲了避免:call xxxx()

let NERDTreeWinPos ="left"
let NERDTreeWinSize=20              "這兩行是爲了設置NERDTree默認在左邊

let Tlist_Auto_Open=1
let Tlist_Ctags_Cmd='/usr/bin/ctags'
let Tlist_Use_Right_Window=1
let Tlist_WinWidth=25               "這兩行是爲了讓Taglist默認在右邊
let Tlist_Exit_OnlyWindow = 1

" 這裏開始是爲了自動註釋配置註釋內容
let g:DoxygenToolkit_briefTag_funcName = "yes"
" for c style, change the '@' to '\'
let g:DoxygenToolkit_commentType = "c"
let g:DoxygenToolkit_briefTag_pre = "@"
" let g:DoxygenToolkit_templateParamTag_pre = "@param "
let g:DoxygenToolkit_paramTag_pre = "@param "
let g:DoxygenToolkit_returnTag = "@return "
" let g:DoxygenToolkit_throwTag_pre = "\\throw " " @exception is also valid
let g:DoxygenToolkit_fileTag = "@file "
let g:DoxygenToolkit_dateTag = "@date "
let g:DoxygenToolkit_authorTag = "@author "
let g:DoxygenToolkit_versionTag = "@version "
let g:DoxygenToolkit_blockTag = "@name "
" let g:DoxygenToolkit_classTag = "\\class "
let g:DoxygenToolkit_authorName = "Binresist"
let g:doxygen_enhanced_color = 1
"let g:load_doxygen_syntax = 1
" 自動註釋結束

"Markdown開始
let g:mkdp_path_to_chrome = "chromium"
" path to the chrome or the command to open chrome(or other modern browsers)

let g:mkdp_auto_start = 1
" set to 1, the vim will open the preview window once enter the markdown
" buffer

let g:mkdp_auto_open = 1
" set to 1, the vim will auto open preview window when you edit the
" markdown file

let g:mkdp_auto_close = 1
" set to 1, the vim will auto close current preview window when change
" from markdown buffer to another buffer

let g:mkdp_refresh_slow = 1
" set to 1, the vim will just refresh markdown when save the buffer or
" leave from insert mode, default 0 is auto refresh markdown as you edit or
" move the cursor

let g:mkdp_command_for_global = 0
" set to 1, the MarkdownPreview command can be use for all files,
" by default it just can be use in markdown file
"Markdown結束
" +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
" +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

最後,vim ~/.vimrc後執行:PluginInstall,一切順利。

特殊的,這裏有配置ctags和cscope,用來在各個文件之間查找定義、調用等,可能操作系統沒有安裝這個命令,需要自己手動安裝,這裏用openSUSE舉例:

sudo zypper install ctags

sudo zypper install cscope

20200314,作出一次修改,配置文件修改如下:

set nocompatible              " 去除VI一致性,必須
filetype off                  " 必須

" ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
" ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
" 設置包括vundle和初始化相關的runtime path
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin() " 另一種選擇, 指定一個vundle安裝插件的路徑 
" call vundle#begin('~/some/path/here')
" ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
" ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

" ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 
" ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 
" 讓vundle管理插件版本,必須
Plugin 'VundleVim/Vundle.vim' "這個插件需要去github下載安裝後,這個.vimrc纔好用
" ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
" ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

" ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 
" ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 
" :Gstatus調出git status查看當前狀態;
" -添加或刪除文件;
" p爲當前文件運行git add -patch;
" Gcommit提交當前文件,編輯提交當前運行的Vim的內部消息,完了以後輸入命令Gwrite保存提交;
" :Gblame帶來git blame 輸出的交互式垂直分割。按行上的Enter鍵以編輯行更改的提交,或者o在拆分中打開它;
" :Gedit 歷史緩衝區返回工作樹版本;
" :Gmove做了git mv一個文件,同時重命名的緩衝區;
" :Gdelete做了git rm一個文件,同時刪除該緩衝區;
" :Gread是git checkout -- filename緩衝區而不是文件名的變體;
Plugin 'tpope/vim-fugitive'

" 來自 http://vim-scripts.org/vim/scripts.html 的插件
" Plugin '插件名稱' 實際上是 Plugin 'vim-scripts/插件倉庫名' 只是此處的用戶名可以省略
Plugin 'L9'

" 由Git支持但不再github上的插件倉庫 Plugin 'git clone 後面的地址'
" Plugin 'git://git.wincent.com/command-t.git'

" 本地的Git倉庫(例如自己的插件) Plugin 'file:///+本地插件倉庫絕對路徑'
" Plugin 'file:///home/gmarik/path/to/plugin'

" 插件在倉庫的子目錄中.
" 正確指定路徑用以設置runtimepath. 以下範例插件在sparkup/vim目錄下
" Plugin 'rstacruz/sparkup', {'rtp': 'vim/'}

" 安裝L9,如果已經安裝過這個插件,可利用以下格式避免命名衝突
" Plugin 'ascenator/L9', {'name': 'newL9'}
" ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
" ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


" ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
" ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
" 這裏是個人安裝的一些插件
Plugin 'szw/vim-tags'           	"ctags 爲了查看函數定義     ctags需要手動安裝
Plugin 'brookhong/cscope.vim'       "cscope 查找函數調用關係等  cscope需要手動安裝
Plugin 'vim-scripts/taglist.vim'    "查看函數列表
Plugin 'scrooloose/nerdtree'        "查看樹結構
Plugin 'vim-scripts/winmanager'     "組織窗口結構
Plugin 'scrooloose/nerdcommenter'   "註釋使用
Plugin 'Shougo/neocomplete.vim'     "自動補全
Plugin 'vim-airline/vim-airline'    "狀態欄

Plugin 'vim-scripts/DoxygenToolkit.vim' "自動註釋
Bundle 'Yggdroot/LeaderF'
" ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
" ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


" ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
" ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
" 你的所有插件需要在下面這行之前
call vundle#end()            " 必須
filetype plugin indent on    " 必須 加載vim自帶和插件相應的語法和文件類型相關腳本
" +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
" +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

" 忽視插件改變縮進,可以使用以下替代:
"filetype plugin on

" 簡要幫助文檔
" :PluginList       - 列出所有已配置的插件
" :PluginInstall    - 安裝插件,追加 `!` 用以更新或使用 :PluginUpdate
" :PluginSearch foo - 搜索 foo ; 追加 `!` 清除本地緩存
" :PluginClean      - 清除未使用插件,需要確認; 追加 `!` 自動批准移除未使用插件

" 查閱 :h vundle 獲取更多細節和wiki以及FAQ
" 將你自己對非插件片段放在這行之後

" +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
" +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
" 這裏開始對每個工具的使用進行配置
set tabstop=4                       "設置tab前進四個空格
set nu                              "設置行號

set exrc                            "這兩行的設置可以使vim識別不同路徑下的.vimrc
set secure                          "這裏主要爲了方便多個項目時不同的環境設置,例如不同項目的ctag,或者縮進等等

let NERDTreeWinPos ="left"
let NERDTreeWinSize=20              "這兩行是爲了設置NERDTree默認在左邊

let Tlist_Auto_Open=1
let Tlist_Ctags_Cmd='/usr/bin/ctags'
let Tlist_Use_Right_Window=1
let Tlist_WinWidth=25               "這兩行是爲了讓Taglist默認在右邊
let Tlist_Exit_OnlyWindow = 1

" 這裏開始是爲了自動註釋配置註釋內容
let g:DoxygenToolkit_briefTag_funcName = "yes"
" for c style, change the '@' to '\'
let g:DoxygenToolkit_commentType = "c"
let g:DoxygenToolkit_briefTag_pre = "@"
let g:DoxygenToolkit_paramTag_pre = "@param "
let g:DoxygenToolkit_returnTag = "@return "
let g:DoxygenToolkit_fileTag = "@file "
let g:DoxygenToolkit_dateTag = "@date "
let g:DoxygenToolkit_authorTag = "@author "
let g:DoxygenToolkit_versionTag = "@version "
let g:DoxygenToolkit_blockTag = "@name "
let g:DoxygenToolkit_authorName = "zhengshibin"
let g:doxygen_enhanced_color = 1
" 自動註釋結束

" +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
" +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章