vim插件管理

基础配置

"+寄存器是系统粘贴板,:reg查看所有寄存器,如果没有这个,安装gvim就有了

安装插件管理器 Vundle

从github上克隆
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
vim ~/.vimrc
配置文件加入如下内容:

" ----------------------------- Vundle Start -----------------------------
set nocompatible
filetype off
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
Plugin 'VundleVim/Vundle.vim'

call vundle#end()
filetype plugin indent on
" ----------------------------- Vundle End   -----------------------------

示例安装目录浏览器 NERDTree

执行vim
vim命令模式下:PluginSearch NERD
[图片上传失败...(image-2a61bb-1548764208123)]回车后出现这样一个左侧的分屏,将里面光标出一航填到.vimrc文件
ctlr + w + w可以切换分屏
保存退出,在执行vim ~/.vimrc
命令模式执行PluginInstall,当左侧窗口Plugin 'The-NERD-tree'前面出现+号安装完成
命令模式执行:NERDTree启动插件,?查看用法

" 关闭NERDTree快捷键
map <leader>t :NERDTreeToggle<CR>
""当NERDTree为剩下的唯一窗口时自动关闭
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTreeType") &&b:NERDTreeType == "primary") | q | endif
" 显示行号
"let NERDTreeShowLineNumbers=1
" 是否显示隐藏文件
let NERDTreeShowHidden=0
" 设置宽度
let NERDTreeWinSize=25
" 在终端启动vim时,共享NERDTree
let g:nerdtree_tabs_open_on_console_startup=1
" 忽略以下文件的显示
let NERDTreeIgnore=['\.pyc','\~$','\.swp']

taglist 用法

先安装ctags,这个不是插件,是一个工具,使用yum或apt安装
然后执行,添加需要的tag
ctags -R --sort=1 --c++-kinds=+p --fields=+iaS --extra=+q -f ~/.vim/path/yourtag /usr/include/youwant
和补全插件联合使用看wiki
这样会生成一个系统tags文件,然后配置vimrc

set tags=tags
set tags+=~/.vim/path/yourtag

:Tlist打开taglist

快捷键 作用
<CR> 跳到光标下tag所定义的位置
o 在一个新打开的窗口中显示光标下tag
<Space> 显示光标下tag的原型定义
u 更新taglist窗口中的tag
s 更改排序方式,在按名字排序和按出现顺序排序间切换
x taglist窗口放大和缩小,方便查看较长的tag
+ 打开一个折叠,同zo
- 将tag折叠起来,同zc
* 打开所有的折叠,同zR
= 将所有tag折叠起来,同zM
[[ 跳到前一个文件
]] 跳到后一个文件
q 关闭taglist窗口
<F1> 显示帮助

一些配置

let Tlist_Ctags_Cmd = '/usr/bin/ctags'    "设置ctags路径
let Tlist_Auto_Open = 1                   "启动vim后自动打开taglist窗口
let Tlist_Show_One_File = 1               "不同时显示多个文件的tag,仅显示一个
let Tlist_Exit_OnlyWindow = 1             "taglist为最后一个窗口时,退出vim
let Tlist_Use_Right_Window =1             "taglist窗口显示在右侧,缺省为左侧
"let Tlist_WinHeight = 100                "设置taglist窗口大小
let Tlist_WinWidth = 40
"设置taglist打开关闭的快捷键F8
noremap <F8> :TlistToggle<CR>
"更新ctags标签文件快捷键设置
noremap <F6> :!ctags -R --sort=1 --c++-kinds=+p --fields=+iaS --extra=+q --language-force=C++<CR>

安装 OmniCppComplete 命令补全

需要提前生成tag文件wiki

let OmniCpp_NamespaceSearch = 1
let OmniCpp_GlobalScopeSearch = 1
let OmniCpp_ShowAccess = 1
let OmniCpp_ShowPrototypeInAbbr = 1 " show function parameters
let OmniCpp_MayCompleteDot = 1 " autocomplete after .
let OmniCpp_MayCompleteArrow = 1 " autocomplete after ->
let OmniCpp_MayCompleteScope = 1 " autocomplete after ::
let OmniCpp_DefaultNamespaces = ["std", "_GLIBCXX_STD"]
" automatically open and close the popup menu / preview window
au CursorMovedI,InsertLeave * if pumvisible() == 0|silent! pclose|endif
set completeopt=menuone,menu,longest "preview

~/.vimrc配置

"-------------------------------基础配置------------------------
set nu           "显示行号 set number
syntax on        "语法高亮
set tabstop=4    "tab长度
set shiftwidth=4 "缩进长度
set mouse=a      "启用鼠标
set showmatch    "显示括号匹配
"inoremap { <CR>{}<Left><CR><CR><up><tab>
set autoindent   "自动对齐
set smartindent  "智能缩减
" ----------------------------- Vundle Start -----------------------------
set nocompatible
filetype off
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
Plugin 'VundleVim/Vundle.vim'
Plugin 'The-NERD-tree'
Plugin 'Auto-Pairs'
Plugin 'SuperTab'
Plugin 'OmniCppComplete'
"Plugin 'taglist-plus'
Plugin 'taglist.vim'

call vundle#end()
filetype plugin indent on
" ----------------------------- Vundle End   -----------------------------
" ----------------------------- NERDTree --------------------------------
" 关闭NERDTree快捷键
map <leader>t :NERDTreeToggle<CR>
""当NERDTree为剩下的唯一窗口时自动关闭
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTreeType") &&b:NERDTreeType == "primary") | q | endif
" 显示行号
"let NERDTreeShowLineNumbers=1
" 是否显示隐藏文件
let NERDTreeShowHidden=0
" 设置宽度
let NERDTreeWinSize=25
" 在终端启动vim时,共享NERDTree
let g:nerdtree_tabs_open_on_console_startup=1
" 忽略以下文件的显示
let NERDTreeIgnore=['\.pyc','\~$','\.swp']

" ----------------------------- ctags ------------------------------------
set tags=tags
set tags+=~/.vim/mytag/cpp
set autochdir
" ----------------------------- taglist ----------------------------------
let Tlist_Ctags_Cmd = '/usr/bin/ctags'    "设置ctags路径
"let Tlist_Auto_Open = 1                   "启动vim后自动打开taglist窗口
let Tlist_Show_One_File = 1               "不同时显示多个文件的tag,仅显示一个
let Tlist_Exit_OnlyWindow = 1             "taglist为最后一个窗口时,退出vim
let Tlist_Use_Right_Window =1             "taglist窗口显示在右侧,缺省为左侧
"let Tlist_WinHeight = 100                "设置taglist窗口大小
"let Tlist_WinWidth = 40
"设置taglist打开关闭的快捷键F8
noremap <F8> :TlistToggle<CR>
"更新ctags标签文件快捷键设置
noremap <F6> :!ctags -R --sort=1 --c++-kinds=+p --fields=+iaS --extra=+q --language-force=C++<CR>
"-------------------------------- OmniCppComplete ------------------
let OmniCpp_NamespaceSearch = 1
let OmniCpp_GlobalScopeSearch = 1
let OmniCpp_ShowAccess = 1
let OmniCpp_ShowPrototypeInAbbr = 1 " show function parameters
let OmniCpp_MayCompleteDot = 1 " autocomplete after .
let OmniCpp_MayCompleteArrow = 1 " autocomplete after ->
let OmniCpp_MayCompleteScope = 1 " autocomplete after ::
let OmniCpp_DefaultNamespaces = ["std", "_GLIBCXX_STD"]
" automatically open and close the popup menu / preview window
au CursorMovedI,InsertLeave * if pumvisible() == 0|silent! pclose|endif
set completeopt=menuone,menu,longest "preview
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,884评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,347评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,435评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,509评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,611评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,837评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,987评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,730评论 0 267
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,194评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,525评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,664评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,334评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,944评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,764评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,997评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,389评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,554评论 2 349

推荐阅读更多精彩内容

  • 参考文章 vim有哪些插件管理程序?都有些什么特点? 使用vundle进行插件管理(vim笔记二) 【Vim】使用...
    刘大帅阅读 979评论 0 6
  • gmarik/Vundle.vim是目前被推荐次数更多的Vim插件管理器,超过了pathogen。这里我们 就用v...
    随风化作雨阅读 850评论 0 0
  • 1.先安装vundle vundle的安装方法很简单,具体如下:git clone https://github....
    吟风划彩虹阅读 857评论 0 0
  • 今天和婆婆一起去喝喜酒,出发时我背着母婴包,带着婴儿车,婆婆看到后叫我不要背包过去,说那边人太多了不好放,怕人家把...
    柔雅_阅读 356评论 0 1
  • 辛苦换来彩灯明 ——伊犁九龙电力安装服务公司 文/雪中萍 正月十五元宵夜,散步去广场看彩灯...
    雪中萍阅读 461评论 0 1