Vim插件管理和安装

插件管理工具 Pathogen

Pathogen 是一个vim插件管理工具,使用它来管理其他的vim插件,官方网站

安装 Pathogen

我们首先安装 Pathogen

# 新建2个目录
mkdir -p ~/.vim/autoload ~/.vim/bundle

# 安装Pathogen
curl -LSso ~/.vim/autoload/pathogen.vim https://tpo.pe/pathogen.vim

这时在~/.vim目录下就多了两个文件夹autoload和bundle。

autoload文件夹下有pathogen.vim文件,是安装pathogen的目录;

bundle文件夹是以后安装其他插件的目录,也就是说以后安装vim其他插件都安装在~/.vim/bundle目录下,进行统一的管理。

在 ~/.vimrc 中加入下面的命令使 Pathogen 生效:

"Pathogen配置
execute pathogen#infect()
syntax on
filetype plugin indent on

Ctags和taglist插件

Ctags工具是用来遍历源代码文件生成tags文件,tags文件能被编辑器或其它工具用来快速查找定位源代码中的符号(tag/symbol),如变量名,函数名等。

比如,tags文件就是Taglist和OmniCppComplete工作的基础。

1、安装 Ctags

1、在线安装
yum install ctags

2、下载源码编译安装

下载地址:http://ctags.sourceforge.net

./configure
make
sudo make install

使用Ctags

在工程或项目的源码根目录下执行:
ctags -R *

-R表示递归创建,也就是包括源代码根目录(当前目录)下的所有子目录。*表示所有文件。这条命令会在当前目录下产生一个tags文件,当用户在当前目录中打开vim时,会自动载入此tags文件

2、安装taglist

taglist下载地址 http://www.vim.org/scripts/script.php?script_id=273

下载后解压放在~/.vim/bundle目录中

配置taglist

在~/.vimrc中加入下面的命令来配置taglist

"taglist配置信息
"快捷键:使用F3打开关闭
map <silent> <F3> :TlistToggle<CR>

let Tlist_Auto_Open=1 " Let the tag list open automatically
let Tlist_Auto_Update=1 " Update the tag list automatically
let Tlist_Compact_Format=1 " Hide help menu
let Tlist_Ctags_Cmd='ctags' " Location of ctags
let Tlist_Enable_Fold_Column=0 "do show folding tree
let Tlist_Process_File_Always=1 " Always process the source file
let Tlist_Show_One_File=1 " Only show the tag list of current file
let Tlist_Exit_OnlyWindow=1 " If you are the last, kill yourself
let Tlist_File_Fold_Auto_Close=0 " Fold closed other trees
let Tlist_Sort_Type="name" " Order by name
let Tlist_WinWidth=30 " Set the window 40 cols wide.
let Tlist_Close_On_Select=1 " Close the list when a item is selected
let Tlist_Use_SingleClick=1 "Go To Target By SingleClick
let Tlist_Use_Right_Window=1 "在右侧显示

在阅读代码时,taglist窗口中会显示当前光标所在的函数,但是taglist切换的比较慢,一般要3-5s才能显示当前函数,可以在 .vimrc 中加入配置让taglist刷新变快。

在 ~/.vimrc 中加入: set updatetime=100

文件浏览插件 NERDTree

NERDTree 是一个文件浏览的插件,可以方便的在vim中浏览项目中的文件。

在使用 NERDTree 的过程中有一些不太方便的地方就是打开的各个文件不共享 NERDTree,所以就需要配合安装一个共享插件 vim-nerdtree-tabs, 这就让你感觉只是打开了一个 NERDTree。

安装 NERDTree 和 vim-nerdtree-tabs

# 进入插件安装目录
cd ~/.vim/bundle

# clone NERDTree
git clone https://github.com/scrooloose/nerdtree.git

# clone vim-nerdtree-tabs
git clone https://github.com/jistr/vim-nerdtree-tabs.git

配置 NERDTree

安装完NERDTree后,在~/.vimrc中配置NERDTree

"NERDTree配置
"快捷键:使用F2打开关闭
"map <F2> :NERDTreeMirror <CR> 
"map <F2> :NERDTreeToggle <CR>  "开关NERDTree
map <F2> :NERDTreeTabsToggle <CR>   "开关NERDTree tab版, 需要安装vim-nerdtree-tabs插件
"NERDTree配置  
let NERDChristmasTree=1 "显示增强
let NERDTreeAutoCenter=1 "自动调整焦点                                                                                                                  
let NERDTreeShowFiles=1 "显示文件
let NERDTreeShowLineNumbers=1 "显示行号
let NERDTreeHightCursorline=1 "高亮当前文件
let NERDTreeShowHidden=0 "显示隐藏文件
let NERDTreeMinimalUI=0 "不显示'Bookmarks' label 'Press ? for help'
let NERDTreeWinSize=31 "窗口宽度
let NERDTreeWinPos='left' "窗口位置在左边
"当NERDTree为剩下的唯一窗口时自动关闭                                                                                                                 
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif
"打开vim时自动打开NERDTreetab
let g:nerdtree_tabs_open_on_console_startup=0

NERDTree 的一些基本操作

  • ? : 快速帮助文档
  • o : 打开一个目录或者打开文件,创建的是 buffer,也可以用来打开书签
  • go : 打开一个文件,但是光标仍然留在 NERDTree,创建的是 buffer
  • t : 打开一个文件,创建的是Tab,对书签同样生效
  • T : 打开一个文件,但是光标仍然留在 NERDTree,创建的是 Tab,对书签同样生效
  • i : 水平分割创建文件的窗口,创建的是 buffer
  • gi : 水平分割创建文件的窗口,但是光标仍然留在 NERDTree
  • s : 垂直分割创建文件的窗口,创建的是 buffer
  • gs : 和 gi,go 类似
  • x : 收起当前打开的目录
  • X : 收起所有打开的目录
  • e : 以文件管理的方式打开选中的目录
  • D : 删除书签
  • P : 大写,跳转到当前根路径
  • p : 小写,跳转到光标所在的上一级路径
  • K : 跳转到第一个子路径
  • J : 跳转到最后一个子路径
  • <C-j><C-k> : 在同级目录和文件间移动,忽略子目录和子文件
  • C : 将根路径设置为光标所在的目录
  • u : 设置上级目录为根路径
  • U : 设置上级目录为跟路径,但是维持原来目录打开的状态
  • r : 刷新光标所在的目录
  • R : 刷新当前根路径
  • I : 显示或者不显示隐藏文件
  • f : 打开和关闭文件过滤器
  • q : 关闭 NERDTree
  • A : 全屏显示 NERDTree,或者关闭全屏

自动补全插件 Vim-EasyComplete

Vim-EasyComplete是一个代码自动补全插件

安装Vim-EasyComplete

# 进入插件安装目录
cd ~/.vim/bundle

# 同时安装 EasyComplete、vim-dictionary、snipmate
git clone https://github.com/tomtom/tlib_vim.git
git clone https://github.com/MarcWeber/vim-addon-mw-utils.git
git clone https://github.com/garbas/vim-snipmate.git
git clone https://github.com/honza/vim-snippets.git
git clone https://github.com/jayli/vim-easycomplete.git
git clone https://github.com/jayli/vim-dictionary.git

配置Vim-EasyComplete

在 ~/.vimrc 中加入下面的命令来配置Vim-EasyComplete

"配置Vim-EasyComplete
"使用 Tab 键呼出补全菜单
imap <Tab>   <Plug>EasyCompTabTrigger
imap <S-Tab> <Plug>EasyCompShiftTabTrigger
"弹窗样式配置,这里提供了两个默认样式配置,暗:dark,亮:light,通用:rider
let g:pmenu_scheme = 'dark'
上一篇:OpenWrt-相关设置


下一篇:Linux——知识索引