在用的vim插件
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插件的更多相关文章
- 常用vim插件的安装、使用和管理
1.Ctags Ctags工具是用来遍历源代码文件生成tags文件,这些tags文件能被编辑器或者其他工具用来快速查找定位源代码中的符号,入变量名,函数名等.比如,tags文件就是Taglist和 ...
- VIM插件攻略
工欲善其事,必先利其器.一个强大的开发环境可以大大提高工作效率.好吧,我知道这是废话...不过,我想一定有很多跟我一样打算进入Linux平台开发的新手,一开始都为找不到一个像Windows下的VS那样 ...
- [Tools] Vim插件管理
我们在使用插件的时候,都不希望插件安装的很杂乱,它不是一个看不见的黑盒,也为了下次方便在其它地方安装. 由于要方便插件管理,于是有了 Vundle,以下做些介绍: 1. 一个插件管理器, 自己本身也是 ...
- Vim插件管理——Vundle
Vim插件管理--Vundle 都说Vim时程序员写给自己的编辑器,其中的情结可想而知.身为一只程序狗CodingDoge,今天就让我带各位学习Vim的使用. vim因为其庞大而强劲的插件受到无比的推 ...
- vim 插件管理
1 进入自己的vim mkdir ./bundle/vundle 2 在vimrc同级中执行 git clone https://github.com/gmarik/vundle.git ./bund ...
- 「个人vim插件+配置」
2016.10.4 filetype indent on syntax on set nu ai ci si set sw= ts= set autochdir set backspace= colo ...
- vim插件ctags的安装和使用
vim插件ctags的安装和使用 2013-11-19 20:47 17064人阅读 评论(0) 收藏 举报 分类: 开发工具(3) linux编程(9) c/c++编程(11) 版权声明:本 ...
- 使用pathogen管理Vim插件并托管到Github
参照文章[1][2]的办法,将vim打造成一个Python开发环境.文章中使用的是 pathogen + git 来管理 Vim 插件的.对这种方式还不太明白的同学可以参考[3]中的介绍.pathog ...
- 每日vim插件--vim中的文本对象及相关插件
最近在个人博客上 http://foocoder.com 每天都会介绍一个vim插件,想起来园子也好久没更新了,也来更新一篇. 今天按读者留言的要求,介绍下文本对象.同时还会介绍我在用的几个文本相关 ...
- cVim—Chrome上更强大的vim插件
cVim——Chrome上更强大的vim插件 介绍 也许很多人在chrome上都用过类似Vimium, ViChrome的插件,这些插件的目的都差不多,就是在浏览器中提供一些类似vim的操作来提高效率 ...
随机推荐
- BZOJ1747 [Usaco2005 open]Expedition 探险
首先我们可以发现如果错过了一个加油站,而继续往前走的时候没有油了,可以再假装之前经过加油站的时候加过油 于是我们维护一个大根堆,表示错过的加油站是哪些,每当没有油的时候从堆顶取出最大值加上去即可 /* ...
- Hyper-V和Virtual PC的不同
微软在2003年收购了推出了Virtual PC软件的Connectix公司,并在其后推出了Virtual Server服务器虚拟化软件 Hyper-V跟微软自家的Virtual PC.Virtual ...
- ACTIVITI 源码研究之命令模式执行
ACTIVITI 是一个优秀开源软件,通过阅读源码,我们不但可以了解工作流引擎执行的原理还可以增加个人的编码功力. ACTIVITI 所有执行过程都是采用命令模式进行执行. 本文主要描述流程引擎数据保 ...
- UVALive 6680 Join the Conversation
题意:conversion的定义是下一句提到上一句的人的名字.请你输出最长的对话的长度,及组成对话的序列号. 思路:动态规划的思想很容易想到,当前句子,根据所有提到的人的名字为结尾组成的对话长度来判断 ...
- qt--- vs
qt with vs 1.安装vs2012: 2.下载Qt 5.2.0 for Windows 32-bit (VS 2012, 579 MB) 和 Visual Studio Add-in 1.2. ...
- python 爬虫
import urllib2 as url import re urls = 'http://www.php100.com/html/it/' headers = {'User-Agent':'Moz ...
- iOS 消息推送原理及实现Demo
一.消息推送原理: 在实现消息推送之前先提及几个于推送相关概念,如下图1-1: 1.Provider:就是为指定IOS设备应用程序提供Push的服务器,(如果IOS设备的应用程序是客户端的话,那么Pr ...
- 二模 (4) day1
第一题: 题目描述: 有一个无穷序列如下:110100100010000100000…请你找出这个无穷序列中指定位置上的数字 解题过程: 1.考虑到1的数目比0少的多,就从1的位置的规律开始分析.前几 ...
- 【Noip2012】解题报告【字符】【贪心】【高精度】【倍增】【set】
目录:1:vigenere密码[字符]2:国王游戏[贪心][高精度]3:开车旅行[倍增][set] 题目: VJ P1778 vigenere密码 Accepted 标签:NOIP提高组2012 ...
- idea修改jsp后不会自动编译和替换(转)
使用IntelliJ IDEA开发JavaWeb项目时,修改了JSP后刷新浏览器无法及时显示修改后的页面? 解决办法:tomcat配置中,On frame deactivation属性选择Update ...