The-NERD-tree  https://github.com/vim-scripts/The-NERD-tree

  在vim中也可以有目录树的,如果要打开当前文件夹下的其他文件的话也可以很方便的进行查找。下面是一些常用快捷键:  

ctrl + w + h    光标 focus 左侧树形目录
ctrl + w + l    光标 focus 右侧文件显示窗口
ctrl + w + w    光标自动在左右侧窗口切换
ctrl + w + r    移动当前窗口的布局位置
o       在已有窗口中打开文件、目录或书签,并跳到该窗口
go      在已有窗口 中打开文件、目录或书签,但不跳到该窗口
t       在新 Tab 中打开选中文件/书签,并跳到新 Tab
T       在新 Tab 中打开选中文件/书签,但不跳到新 Tab
i       split 一个新窗口打开选中文件,并跳到该窗口
gi      split 一个新窗口打开选中文件,但不跳到该窗口
s       vsplit 一个新窗口打开选中文件,并跳到该窗口
gs      vsplit 一个新 窗口打开选中文件,但不跳到该窗口
!       执行当前文件
O       递归打开选中 结点下的所有目录
x       合拢选中结点的父目录
X       递归 合拢选中结点下的所有目录
e       Edit the current dif
双击    相当于 NERDTree-o
中键    对文件相当于 NERDTree-i,对目录相当于 NERDTree-e
D       删除当前书签
P       跳到根结点
p       跳到父结点
K       跳到当前目录下同级的第一个结点
J       跳到当前目录下同级的最后一个结点
k       跳到当前目录下同级的前一个结点
j       跳到当前目录下同级的后一个结点
C       将选中目录或选中文件的父目录设为根结点
u       将当前根结点的父目录设为根目录,并变成合拢原根结点
U       将当前根结点的父目录设为根目录,但保持展开原根结点
r       递归刷新选中目录
R       递归刷新根结点
m       显示文件系统菜单
cd      将 CWD 设为选中目录
I       切换是否显示隐藏文件
f       切换是否使用文件过滤器
F       切换是否显示文件
B       切换是否显示书签
q       关闭 NerdTree 窗口
?       切换是否显示 Quick Help

Tagbar  https://github.com/vim-scripts/Tagbar.git

  用于将当前打开的文件中的函数和全局变量给抽出来,显示在右边栏。:TagbarOpen 或者 :TagbarToggle 都可以打开它,:TagbarClose 或者 :TagbarToggle 都可以关闭它。

  p  光标停留在tagbar栏,文件的光标调至对应的位置。

  P(大写)  光标不动,但是新开一个预览窗口。

  ctrl+n  光标跳至下一个折叠目录处

  ctrl+p  功能同上,但与上相反。

  空格   在控制命令行显示当前tag的原型。

  s  切换排序规则:名字 or 定义顺序

  x  全屏显示tagbar

  q  关闭tagbar(对于有映射键来讲,没有用)

  -  折叠当前标签

  +  打开折叠的标签

  

ctags  这个vim貌似默认已经装了

  只知道这个东西怎么用,不知道具体算是什么东西。简单用法有如下几种:

() $ ctags –R *      ($ 为Linux系统Shell提示符,默认就把当前文件夹下的东西给生成了寻找时的索引根据了,找的时候就会在这个范围内找)
() $ vim –t tag        (请把tag替换为您欲查找的变量或函数名)
() :ts                 (ts 助记字:tags list, 当你按下ctrl+]之后,再用此命令可以找到所有的标记,然后具体跳哪里再选“:”开头的命令为VIM中命令行模式命令)
() :tp                 (tp 助记字:tags preview)---此命令不常用,可以不用记
() :tn                 (tn 助记字:tags next) ---此命令不常用,可以不用记
() Ctrl + [            (上一个标签,比如跳到此函数的原来定义的地方)
() Ctrl + ]            (下一个标签)
() Ctrl + T           (回到第一个标签)

The-NERD-Commenter  快速注释,注意其中的\符号是<leader>键,这是vim默认的。

、 \cc 注释当前行和选中行,也可以在\前面加数字,表示从当前行开始的n行进行注释
、 \cn 没有发现和\cc有区别
、 \c<空格> 如果被选区域有部分被注释,则对被选区域执行取消注释操作,其它情况执行反转注释操作
、 \cm 对被选区域用一对注释符进行注释,前面的注释对每一行都会添加注释
、 \ci 执行反转注释操作,选中区域注释部分取消注释,非注释部分添加注释
、 \cs 添加性感的注释,代码开头介绍部分通常使用该注释
、 \cy 添加注释,并复制被添加注释的部分
、 \c$ 注释当前光标到改行结尾的内容
、 \cA 跳转到该行结尾添加注释,并进入编辑模式
、\ca 转换注释的方式,比如: /**/和//
、\cl \cb 左对齐和左右对其,左右对其主要针对/**/
、\cu 取消注释

CSCOPE   可以看这篇文章

和ctags是最佳搭档,可以配置一个指令例如:alias cr='ctags -R --fields=+IS && cscope -Rbq'

 使用方法:
 :cs add {file|dir} [pre-path] [flags]

 其中:
 [pre-path] 就是以-p选项传递给cscope的文件路径,是以相对路径表示的文件前加上的path,这样你不要切换到你数据库文件所在的目录也可以使用它了。
 [flags] 你想传递给cscope的额外旗标

 实例:
 :cscope add /root/code/vimtest/ftpd
 :cscope add /project/vim/cscope.out /usr/local/vim
 :cscope add cscope.out /usr/local/vim –C
 下面是设置的配置

     " s: Find this C symbol 找C符号
     nnoremap  <leader>fs :call cscope#find('s', expand('<cword>'))<CR>
     " g: Find this definition 找定义
     nnoremap  <leader>fg :call cscope#find('g', expand('<cword>'))<CR>
     " d: Find functions called by this function 找被此函数调用的函数
     nnoremap  <leader>fd :call cscope#find('d', expand('<cword>'))<CR>
     " c: Find functions calling this function 找调用此函数的函数
     nnoremap  <leader>fc :call cscope#find('c', expand('<cword>'))<CR>
     " t: Find this text string 找字符串
     nnoremap  <leader>ft :call cscope#find('t', expand('<cword>'))<CR>
     " e: Find this egrep pattern 用正则找字符串
     nnoremap  <leader>fe :call cscope#find('e', expand('<cword>'))<CR>
     " f: Find this file 找文件
     nnoremap  <leader>ff :call cscope#find('f', expand('<cword>'))<CR>
     " i: Find files #including this file 找包含此文件的文件
     nnoremap  <leader>fi :call cscope#find('i', expand('<cword>'))<CR>

 -R: 在生成索引文件时,搜索子目录树中的代码,因为我们已经在cscope.files中把所有的文件都打印入了列表中,所以
 -b: 只生成索引文件,不进入cscope的界面
 -q: 生成cscope.in.out和cscope.po.out文件,加快cscope的索引速度
 -k: 在生成索引文件时,不搜索/usr/include目录
 -i: 如果保存文件列表的文件名不是cscope.files时,需要加此选项告诉cscope到哪儿去找源文件列表。可以使用”-”,表示由标准输入获得文件列表。
 -I dir: 在-I选项指出的目录中查找头文件
 -u: 扫描所有文件,重新生成交叉索引文件
 -C: 在搜索时忽略大小写
 -P path: 在以相对路径表示的文件前加上的path,这样,你不用切换到你数据库文件所在的目录也可以使用它了。

easymotion  好用的快捷方式不多。

\\b 按单词往上寻找
\\w    按单词往下寻找
\\j    按行往下寻找
\\k    按行往上寻找

在用的vim插件的更多相关文章

  1. 常用vim插件的安装、使用和管理

      1.Ctags Ctags工具是用来遍历源代码文件生成tags文件,这些tags文件能被编辑器或者其他工具用来快速查找定位源代码中的符号,入变量名,函数名等.比如,tags文件就是Taglist和 ...

  2. VIM插件攻略

    工欲善其事,必先利其器.一个强大的开发环境可以大大提高工作效率.好吧,我知道这是废话...不过,我想一定有很多跟我一样打算进入Linux平台开发的新手,一开始都为找不到一个像Windows下的VS那样 ...

  3. [Tools] Vim插件管理

    我们在使用插件的时候,都不希望插件安装的很杂乱,它不是一个看不见的黑盒,也为了下次方便在其它地方安装. 由于要方便插件管理,于是有了 Vundle,以下做些介绍: 1. 一个插件管理器, 自己本身也是 ...

  4. Vim插件管理——Vundle

    Vim插件管理--Vundle 都说Vim时程序员写给自己的编辑器,其中的情结可想而知.身为一只程序狗CodingDoge,今天就让我带各位学习Vim的使用. vim因为其庞大而强劲的插件受到无比的推 ...

  5. vim 插件管理

    1 进入自己的vim mkdir ./bundle/vundle 2 在vimrc同级中执行 git clone https://github.com/gmarik/vundle.git ./bund ...

  6. 「个人vim插件+配置」

    2016.10.4 filetype indent on syntax on set nu ai ci si set sw= ts= set autochdir set backspace= colo ...

  7. vim插件ctags的安装和使用

    vim插件ctags的安装和使用 2013-11-19 20:47 17064人阅读 评论(0) 收藏 举报  分类: 开发工具(3)  linux编程(9)  c/c++编程(11)  版权声明:本 ...

  8. 使用pathogen管理Vim插件并托管到Github

    参照文章[1][2]的办法,将vim打造成一个Python开发环境.文章中使用的是 pathogen + git 来管理 Vim 插件的.对这种方式还不太明白的同学可以参考[3]中的介绍.pathog ...

  9. 每日vim插件--vim中的文本对象及相关插件

    最近在个人博客上 http://foocoder.com  每天都会介绍一个vim插件,想起来园子也好久没更新了,也来更新一篇. 今天按读者留言的要求,介绍下文本对象.同时还会介绍我在用的几个文本相关 ...

  10. cVim—Chrome上更强大的vim插件

    cVim——Chrome上更强大的vim插件 介绍 也许很多人在chrome上都用过类似Vimium, ViChrome的插件,这些插件的目的都差不多,就是在浏览器中提供一些类似vim的操作来提高效率 ...

随机推荐

  1. JDE函数--获取当前登录人的描述

    业务描述:当前登录人ID为数字,中文姓名保存在描述1字段中 方式: 根据系统变量获取用户的地址号,根据TableIO获取用户描述1.如下图所示: 由于使用AN8时,变量类型不一致,所以使用函数将cha ...

  2. PHP5生成条形码器

    前阵子在做一个商家优惠券的功能,需要用到条形码,于是将资料重新整理下. 1.什么是条形码? 百度百科定义:条形码(barcode)是将宽度不等的多个黑条和空白,按照一定的编码规则排列,用以表达一组信息 ...

  3. php的两个符号@和&---php总会要知道的系列

    在写代码的时候,碰到了在函数和变量前家 @和$的的问题,于是就借这个机会,学习下php的传值和传引用这两种方式 首先 @ 运算符只对表达式有效.对新手来说一个简单的规则就是:如果能从某处得到值,就能在 ...

  4. 用Masonry实现键盘的收回和弹出

    首先说几点:我一般将数值类型的约束用mas_equalTo,而相对于某个控件,或者某个控件的某个约束,我会使用equalTo,如:make.size.mas_equalTo(CGSizeMake(10 ...

  5. hduacm 5255

    http://acm.hdu.edu.cn/showproblem.php?pid=5255 枚举a和c  求解b #include <cstdio> #include <cstri ...

  6. django.test.client 使用随记

    import os,sys,django; sys.path.append("\\path\\to\\mysite")#ATTETION!,Err: "unable to ...

  7. POJ 1753 Flip Game 状态压缩,暴力 难度:1

    Flip Game Time Limit: 1000MS  Memory Limit: 65536K  Total Submissions: 4863  Accepted: 1983 Descript ...

  8. TopCoder SRM 583 TurnOnLamps

    读错题了有没有呀,原来 lamps 是在边上的呀,当成是在点上的了,无语. 直接一个dfs 就可以 从叶子节点开始,如果有必要转换 lamp 的状态则加一个仅包含 这个 lamp 的段 然后向上扩展, ...

  9. [转载]android的消息处理机制(图+源码分析)——Looper,Handler,Message

    2013-12-18 14:17:33 转载自: http://www.cnblogs.com/codingmyworld/archive/2011/09/14/2174255.html 请跳转到转载 ...

  10. DrawerLayout一个简单的实例(与ActionBar无关)

    官方的Demo里有DrawerLayout的例子,涉及到ActionBar,这里不用ActionBar,手痒,写个超级简单的小Demo,备着以后或许会用到. 详细的内容,可以访问:http://blo ...