codecamp

Vim 插件

插件

使用插件来提高效率,它能改变Vim的界面,添加新命令,代码自动补全,整合其他程序和工具,添加其他编程语言等功能。

小贴士: 参阅Vim Awesome获取一些热门插件

安装

使用插件管理器

插件管理器使安装和管理插件有相似的方法,而与在何种平台上运行Vim无关。它是一个像包管理器一样的用来管理其它Vim插件的插件。

  • Vundle是现在最流行的Vim插件管理器。
  • Vim-plug是一个极简的Vim插件管理器,有许多的特性,比如按需插件加载和并行升级。
  • pathogen.vim是一个简单的用于管理Vim的运行时路径的插件。

从Arch软件库下载

vim-plugins分类下有许多插件。 使用pacman -Sg vim-plugins来列出可用的插件,然后你可用pacman安装

pacman -Ss vim-plugins

cscope

Cscope是一个工程浏览工具。通过导航到一个词/符号/函数并通过快捷键调用cscope,能快速找到:函数调用及函数定义等。

安装 cscope包。

拷贝cscope预设文件,该文件会被Vim自动读为:

mkdir -p ~/.vim/plugin
wget -P ~/.vim/plugin http://cscope.sourceforge.net/cscope_maps.vim

注意:在Vim的7.x版本中,你可能需要在~/.vim/plugin/cscope_maps.vim中取消下列行的注释来启用cscope快捷键:

set timeoutlen=4000
set ttimeout

创建一个文件,该文件包含了你希望cscope索引的文件的清单(cscope可以操作很多语言,下面的例子用于寻找C++中的.c、_.cpp.h_文件):

cd /path/to/projectfolder/
find . -type f -print | grep -E '\.(c(pp)?|h)$' > cscope.files

创建cscope将读取的数据文件:

cscope -bq

注意:必须从当前路径浏览工程文件,也可以设置$CSCOPE_DB变量指向cscope.out文件,并导出。

默认快捷键:

 Ctrl-\ and
      c: Find functions calling this function
      d: Find functions called by this function
      e: Find this egrep pattern
      f: Find this file
      g: Find this definition
      i: Find files #including this file
      s: Find this C symbol
      t: Find assignments to

可随意改变这些快捷键。

Taglist

Taglist提供源码文件的结构概览,使你能更高效的浏览不同语言的源文件。

安装 vim-taglist包。

将下列设置添入文件~/.vimrc:

let Tlist_Compact_Format = 1
let Tlist_GainFocus_On_ToggleOpen = 1
let Tlist_Close_On_Select = 1
nnoremap <C-l> :TlistToggle<CR>
Vim 技巧和建议
Vim 参阅
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

vi命令手册

Vimscript编程参考

Vim 其他内容

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }