首页 > Linux配置管理工具 > 我的vim(配置+插件)

我的vim(配置+插件)

2014年10月21日

我的vim(配置+插件)
http://blog.csdn.net/zlzlei/article/details/7711067
======================================================
下载安装
配置文件与插件目录已打包上传,下载地址
http://download.csdn.net/detail/zlzlei/4570644

http://f.xunlei.com/9343823/file/3d9ccc16-294d-42f7-a7df-70d6692670f9
本文章讲解我自己的vim配置与使用技巧,vim的使用方法见以下地址:
http://blog.csdn.net/zlzlei/article/details/7708602
包括taglist插件与omnicppcomplete以及相关的配置
下载以后直接解压到用户home目录(~目录)即可,里面有.vimrc配置文件与.vim插件目录。

======================================================
该套配置与插件使用技巧
配置是我在网上找的别人的然后装上插件按照我自己的习惯改了改,下面我说一下支持的操作与使用技巧:

1. 设置工程目录。
ctags是必须的,我需要支持c++文件,所以命令长些,进入你的工程目录,运行一下命令生成tag文件:
ctags -R –c++-kinds=+p –fields=+iaS –extra=+q -f ~/tags `pwd`
该命令将当前目录及子目录下的源码生成tag文件,存放为~/tags
选项c++-kinds 用于指定C++语言的 tags记录类型, –c-kinds用于指定c语言的, 通用格式是 –{language}-kinds
由于一般情况下我们的代码工程目录都是分级的,不可能所有代码都放在一个目录下,并且经常要在不同目录下运行vim,所以直接使用ctags在实际开发中可能很难满足我们的要求,我也一直在找解决方法,未果,后来自己设计了一种方法,具体的实现等都已经配置好了,我们需要:
1. .vim/tags/ctags-project是我自己写的一个脚本,你可以把它拷贝到/usr/bin或者/usr/local/bin,此时就可以在任意目录运行ctags-project命令了
2. 在开发工程的根目录运行ctags-project命令,此时即会生成整个工程的tag文件
3. 在此以后,在任何目录运行vim都会使用运行过ctags-project命令的那个工程目录的tag文件
4. 在此之后,在任何目录打开的vim中按F12都会重新生成运行过ctags-project命令的那个工程目录的tag文件
这样的缺点就是一个系统中同时只能编辑一个项目,如果要更换项目,则就要在新项目的目录下重新运行ctags-project命令

2. Taglist
Taglist插件也已经放进去了,直接运行:Tlist即可显示文件函数列表。
快捷键Ctrl+w+w可以在文件函数列表与编辑窗口间切换光标。
下面是在文件函数列表窗口的快捷键:
<CR> 跳到光标下tag所定义的位置,用鼠标双击此tag功能也一样
o 在一个新打开的窗口中显示光标下tag
<Space> 显示光标下tag的原型定义
u 更新taglist窗口中的tag
s 更改排序方式,在按名字排序和按出现顺序排序间切换
x taglist窗口放大和缩小,方便查看较长的tag
+ 打开一个折叠,同zo
– 将tag折叠起来,同zc
* 打开所有的折叠,同zR
= 将所有tag折叠起来,同zM
[[ 跳到前一个文件
]] 跳到后一个文件
q 关闭taglist窗口
<F1> 显示帮助

3. 自动补全
安装了omnicppcomplete插件,支持结构体或者类在输入.或->时自动弹出成员列表。
快捷键Shift+l 也会自动弹出类或结构体的成员列表。
快捷键Shift+p 会自动补全写了一半的变量或函数名,多种选择时以列表显示。
快捷键Ctrl+n 列表选项下移
快捷键Ctrl+p 列表选项上移

4. 自动跳转
快捷键 Ctrl+] 跳转到函数或变量定义处。
若跳转时发现有多个可跳转处,使用以下命令:
:ts 列出所有可跳转处 (ts 助记字:tags list, “:”开头的命令为VI中:cprevious命令行模式命令)
:tp 跳转到前一个 (tp 助记字:tags preview)
:tn 跳转到下一个 (tn 助记字:tags next)
快捷键 Ctrl+t 从函数定义处跳回到函数调用处。
快捷键 Ctrl+o 跳转回前一处。
快捷键 Ctrl+i 跳转到下一处。
快捷键 [+(Shift+i) 跳转到变量定义处(个人喜好,备用)。

快捷键 Ctrl+\ 跳转到函数或变量调用处。
该跳转与之前不同,使用了quickfix窗口,具体操作见第9节
5. 使用linux系统终端或putty等支持鼠标操作的客户端,可以直接用鼠标进行:
页面滚动;
文字选取,文字选取与按v键进视图模式选取文字方式相同,复制等也需要使用y,若要使用终端自带的文字选取功能(选中右键菜单功能)需要按住shift再用鼠标选择;
Taglist中的文件折叠展开,函数选择跳转;
Ctrl+单击变量或函数直接跳转到定义处;

6. c.vim插件自动添加代码与注释:
在~/.vim/c-support/templates/Templates可以设置版权信息,如作者、信箱、版权归属等,新建.c或.cpp文件是可以看到,并且列出了使用模板文件位置,可以自己编辑
在普通模式下输入以下命令:
\if 插入一般函数
\im 插入主函数
\cfu 插入函数头,即函数说明
\cfr 插入一个frame comment,可以用来写变量说明
\p< 插入一个include , 并且把光标放在<>中
\rc 保存并编译
\rr 运行
\nr 可以在~/.vim/c-support/codesnippets中编写一些预编译代码或者代码块,通过此命令使用
更多查看以下资料:
http://blog.csdn.net/zlzlei/article/details/7860494
http://blog.csdn.net/guolb57/article/details/7013076
我自己还改了c.vim里面的点东西,把中文时间改成了英文

7. closetag插件:
closetag插件用的不多,也不知道有多少功能,现在也就知道:
ctrl+shift+- 自动补全xml与html的结尾tag

8. winmanager插件:
winmanager插件可以显示类似其他开发环境的文件选择窗口与函数列表窗口:
普通模式下按m 显示或关闭winmanager窗口
普通模式下按f 跳转到文件列表窗口
普通模式下按t 跳转到taglist窗口

9. quickfix窗口:
quickfix窗口用于多标签跳转,多配合cscop及make使用,有以下命令:
:cw 显示quickfix窗口,供列表选择。在该窗口中光标处敲回车进行跳转
:ccl 关闭quickfix窗口,跳转后,quickfix窗口不会自动关闭,只能输入该命令手动关闭
:cn 跳转到下一个
:cp 跳转到上一个
:cl 列出所有标签,但只能看,不能选择
:cc 显示当前标签信息

10. Grep工程内查找:
可以使用Grep命令在工程内查找某个关键字所有出现的地方。
将光标移动到该关键字,运行:
:Grep -R
-R表示递归搜索全部文件,接下来出现以下提示,需要输入搜索的目录:
Search in files: *
修改目录后回车确认即可。查找到的结果使用quickfix窗口显示,该窗口操作方法见第9章。
也可以直接输入要查找的关键字进行查找:
:Grep -R main *

X. 杂项:
1. 本vim插件中包含了libstdc++标准库的tag文件,所以可以直接补全c++的std库类或函数
2. 配置了缩进使用4空格替代tab,自己习惯
3. 快捷键ctrl + k弹出光标所在系统函数的man页面

======================================================
这里只写了最常用的一部分,有其他技巧以后补充。

本文的评论功能被关闭了.