vim配置
来源:互联网 发布:婚礼策划 知乎 编辑:程序博客网 时间:2024/06/04 19:32
前辈经验:
《构建真正的IDE环境》—http://www.cnblogs.com/CGDeveloper/articles/1941373.html
《手把手教你把 Vim 改装成一个 IDE 编程环境》- 吴垠, 吴的blog:http://blog.csdn.net/wooin
《vim使用进阶: 使用vim提高你的文本编辑效率》-Easwy Yang,其bolg:http://easwy.com/blog/
Ctrl-h 显示隐藏文件夹
将vim变成一个IDE
1)在vim环境下使用 :help 查看所有帮助文档
:help [对应条目] 查看相应的帮助文档(usr_28.txt 和 usr_29.txt 对编程人员较重要)
2)安装ctags后,sudo apt-get install ctags
在shell环境中,
>ctags *.c 产生当前目录下所有C文件的tags文件,(后缀可以变化.cpp .cxx等)
注意:使用ctags -R才能将所有变量,宏等也都写入tags,这样才能支持其他变量,宏的查找。
不过还有一个小瑕疵, 你修改程序后, 比如增加了函数定义, 删除了变量定义, tags文件不能自动rebuild, 你必须手动再运行一下命令:
在vim中以后,
使用:tag startlist 跳转到startlist函数下
CTRL-] 可以跳转到光标所在函数中,CTRL-t 可以返回;
:tags 查看刚才跳转的过程
:tag 直接到最内层的函数中(堆栈顶部)
3)安装taglist
下载地址http://www.vim.org/scripts/script.php?script_id=273版本4.5安装在 ~/.vim 目录下解压taglist_xx.zip使用vim打开源文件,
使用 :Tlist就可以打开分栏显示,使用 CTRL-ww(使用两个w)可以进行切换,左边一栏为目录。使用回车查看相应varialbe,function等的内容。
使用:help taglist 查看其他帮助信息(注意不要在后面加上.txt后缀,帮助文件存储在.txt文件中,但是查看只需要文件名即可)
4)文件浏览器和窗口管理器WinManager
回想一下,我们用vim打开文件夹时,vim会自动列出该文件夹下的内容。这其实也是通过netrw.vim插件来实现,不过它已经作为标准插件被自动安装了。
这里主要是通过WinManager插件来将TagList窗口和netrw窗口整合起来。
这时使用 :WMToggle 回车 可以打开窗口文件,但是明显命令太过麻烦,使用如下映射:
let g:winManagerWindowLayout='FileExplorer|TagList'
nmap wm :WMToggle<cr>
5)自动补全
这部分参见链接:http://easwy.com/blog/archives/advanced-vim-skills-omin-complete/ ,这个介绍的非常详细
5.1 omni智能补全
你还需要在~/.vimrc文件中增加下面两句:
set completeopt=longest,menu关掉智能补全时的预览窗口
这时就可以完成C程序的自动补全了,此使用Ctrl-X Ctrl-O在插入模式下进行自动补全。此时有一些快捷键可以用:
注意:要支持C++的全能补全,需要到vim主页下载OmniCppComplete插件,链接如下:
http://www.vim.org/scripts/script.php?script_id=1520
确保你已关闭了vi兼容模式,并允许进行文件类型检测:
set nocpfiletype plugin on
接下来,使用下面的命令,为C++文件生成标签文件,假定你的文件在src目录树下:
ctags -R --c++-kinds=+p --fields=+iaS --extra=+q src
在对C++文件进行补全时,插件需要tag文件中包含C++的额外信息,因此上面的ctags命令不同于以前我们所使用的,它专门为C++语言生成一些额外的信息,上述选项的含义如下:
--c++-kinds=+p : 为C++文件增加函数原型的标签--fields=+iaS : 在标签文件中加入继承信息(i)、类成员的访问控制信息(a)、以及函数的指纹(S)--extra=+q : 为标签增加类修饰符。注意,如果没有此选项,将不能对类成员补全在输入 . 或 -> 后,OmniCppComplete会自动补全,一般使用缺省设置即可。
5.2 其他补全方式
先给链接:http://easwy.com/blog/archives/advanced-vim-skills-auto-complete/
除智能补全外,最常用的补全方式应该是CTRL-N和CTRL-P补全了。它们会在当前缓冲区、其它缓冲区,以及当前文件所包含的头文件中查找以光标前关键字开始的单词。智能补全不能对局部变量进行补全,而CTRL-N和CTRL-P补全则可以很好的胜任
vim中其它的补全方式包括:
整行补全 CTRL-X CTRL-L根据当前文件里关键字补全 CTRL-X CTRL-N根据字典补全 CTRL-X CTRL-K根据同义词字典补全 CTRL-X CTRL-T根据头文件内关键字补全 CTRL-X CTRL-I根据标签补全 CTRL-X CTRL-]补全文件名 CTRL-X CTRL-F补全宏定义 CTRL-X CTRL-D补全vim命令 CTRL-X CTRL-V用户自定义补全方式 CTRL-X CTRL-U拼写建议 CTRL-X CTRL-S
你可以在vimrc中设置这两个变量,例如:
let g:SuperTabRetainCompletionType = 2let g:SuperTabDefaultCompletionType = "<C-X><C-O>"
现在你可以使用TAB来进行补全了,就像在shell中那样,方便了很多!
6.源文件和头文件间的相互切换——插件: A
nnoremap <silent> <F12> :A<CR>
这样就可以直接使用F12从一个切换到另一个
7.快速浏览和操作Buffer——插件:MiniBufExplorer
8.QuickFix窗口
这是现在vim默认自带的插件,在外部写好make文件,然后在vim环境中,在命令行下运行make,就可以实现文件的编译。
:cw 调出错误窗口
:cn // 切换到下一个结果
:cp // 切换到上一个结果
9.还未安装的插件
以下几个也不错,但是现在还不想装。。
Cscope,一个比ctags更加强大的插件;
VisualMark,关于书签的都没有做
- vim配置NERD_tree.vim
- [Linux][Vim]:vim 配置
- vim配置NERD_tree.vim
- vim 配置vim
- vim 配置
- vim 配置
- vim配置
- vim 配置
- vim 配置
- vim 配置
- vim 配置
- vim配置
- vim配置
- VIM 配置
- vim 配置
- vim 配置
- VIM配置
- vim配置
- 论手持设备应用的WebApp化!
- Android开发学习笔记:浅谈ToggleButton
- cocos2d 中添加显示文字的三种方式(CCLabelTTF 、CCLabelBMFont 和CCLabelAtlas)
- DICOM简介
- Android简介
- vim配置
- Using Android monkeyrunner from Eclipse, both in Windows and Linux!
- 读取properties配置文件的工具类
- CSS强制英文、中文换行与不换行 强制英文换行
- 超时时间已到,但是尚未从池中获取连接。出现这种情况可能是因为所有池连接均在使用,并且达到了最大池大小
- python中的编码处理
- DICOM标准及应用——第一讲 DICOM标准概述
- maven eclipse3.3 subversion整合
- 翻译的data文件1