VIM 配置

VIM配置及其插件


一、VIM配置文件

Window下的配置文件位置在:C:\Program Files\Vim,Linux下的在~/.vimrc
参考:
1、The ultimate Vim_R_C
https://github.com/amix/vimrc
2、VIM 中文手册

二、Exuberant Ctags 程序 和 Taglist.vim 脚本

1、ctags下载
2、Taglist.vim 脚本
3、Vimrc打开filetype on
4、使用Taglist插件
5、设置 快捷键 来代替TlistToggle来 开/关 右侧的 Taglish窗口。
6、ctags 帮助手册
可能涉及到的配置:

:help :tags
:help CTRL-] "CTRL 和 ] 跳转到光标所在处的关键字的定义源
:help CTRL-T "CTRL和T 跳转到刚刚的文件和行

第一次设置好了之后,出现错误:E434 Cannot find tag pattern。但是,该tags在tags文件中是存在的。其他,像函数memset(),在按下CTRL+]的时候,错误提示为:E426 tag not found
无意中找到了解决办法,在对应的sourcefile中去掉末尾的^M,相当于将文件格式/fileformat从Windows转换成Unix。然后重新生成tags文件之后,就正常了。

生成系统/usr/include目录下面的tags文件,方法:(输入命令的时候,不要前面的$(dollar)符号)

ctags -f newtags -R /usr/include

注:上面的指令,会在当前文件夹生成一个名叫newtags的tags文件。看了一下文件,总共只有9万多行。
另外,最好在~/.vimrc文件内添加上一句set tags+=~/xxx/xxx/newtags,使vim启动的时候会自动加载这个tags文件。或者是也可以在vimrc中设置一个条件变量,当编译某些特定程序的时候,开启这个tags文件。

REFER: Issue "E434: Can't find tag pattern"

三、NerdTree

1、NerdTree Vim下载
2、NerdTree 配置

四、Vimgrep + QuickFix
Global+Regular_Expression+Search搜索+QuickFix

1、[Quickfix Vim下载]
2、Quickfix 在线帮助
3、Vimgrep
4、vim :quickfix
5、Quickfix 中文帮助

:helo copen "打开quickfix 窗口
:help cclose "关闭quickfix 窗口

五、自动补全

Vim 7已经内置了代码补全功能[6],补全操作可分为两种:

关键字补全
即简单地补全到文档中已有的词,快捷键为 Ctrl-NCtrl-P
智能补全
Vim 7中引入 Omni Complete,可根据语义补全,快捷键为 Ctrl-X Ctrl-O

六、代码折叠

代码较长时可启用代码折叠功能,如按语法高亮元素折叠:

set foldmethod=syntax
"默认情况下不折叠
set foldlevel=99

随后即可使用z系列命令管理代码折叠。如za会翻转当前位置的折叠状态,zA会递归翻转当前层所有代码的折叠状态等。当然也可以把功能键映射到za:

map <F3> za
七、多色高亮显示

1、在vimrc中区分vimgvim
vimrc(Linux在~/.vimrc,Windows在C:\Program Files\Vim_vimrc)中添加上这样一段:

""""""""""""""""""""""""""""""""""""""""""""""
" Only apply this in non-gui Vim
""""""""""""""""""""""""""""""""""""""""""""""
if !has("gui_running")
    highlight Normal ctermfg=grey ctermbg=black "Set Vim's background color and foreground color
endif 

gui_running存在时,表示当前的编辑器是GVim,否则是Vim。

参考:
1、I want to add background color to vimrc but it's not working

八、VIM + C_scope

C_scope is a developer's tool for browsing source code/scoping C language source code. It has an impeccable Unix pedigree, having been originally developed at Bell Labs back in the days of the PDP-11. Cscope was part of the official AT&T Unix distribution for many years, and has been used to manage projects involving 20 million lines of code!

In April, 2000, thanks to the Santa Cruz Operation, Inc. (SCO) (since merged with Caldera), the code for Cscope was open sourced under the BSD license.

NOTE:系统中需要提前安装libcurse。libncurse的下载地址

curses is a terminal control library for Unix-like systems, enabling the construction of text user interface (TUI) applications.

The name is a pun on the term “**cursor** optimization”. It is a library of functions that manage an application's display on character-cell terminals (e.g., VT100).[1]

ncurse means new curse

REFER:C_SCOPE 下载
REFER:Vim/Cscope 入门指导
REFER:CSCOPE 主页
REFER:vi/Vim + Cscope/Ctags
REFER:GNU ncurse 主页

参考


1、用Vim编程——配置与技巧
2、易水 Vim :quickfix
3、Quickfix 在线帮助
4、amix的Vimrc
5、高效率编辑器 Vim
6、手把手教你把Vim改装成一个IDE编程环境(图文)
7、Wu Yin(吴垠)的 vimrc
8、USC/中科大 vimrc
9、LinuxTutorialAdvanced_vi

转载于:https://www.cnblogs.com/xuanyuanchen/p/5807224.html

本文主要介绍: vim的使用技巧、 vim配置vimrc、 vim的命令和vim的插件。 内容极其详细,且用doc文档编写,整理得整齐、美观。 [目录] vim使用进阶: 序言 本文是本系列的序言,讲述我使用vim的经历和心得,以及对vim初学者的一些建议。文中的抓图展示了我的vim使用环境。 vim使用进阶: 使用会话和viminfo 本文介绍如何使用vim的会话 (session) 和viminfo来恢复vim的使用环境。如果你需要经常恢复到相同工作环境,此功能非常有用,你不必一次次重新打开文件、设置你的工作环境。 vim使用进阶: vimrc初步 本文简要介绍了vimrc的知识以及如何使用vimrc保存vim配置。文中还提供了一些键映射(map),使用这些映射可以快速编辑和加载vimrc。关于vimrc的更多应用,参见本系列其它文章。 vim使用进阶: 保存项目相关配置 本篇主要以path选项为例,讲述如何保存和恢复项目相关的配置。在使用vim的过程中,你可能同时打开几个project,每个project的配置可能都不相同,文中介绍了两种方法来保存每个project自身的独有配置。一种是使用一个固定的vim配置脚本保存project相关的path设置、按键映射等;另外一种是利用前面文章所介绍的会话(session)机制。 vim使用进阶: 使用标签(tag)文件 本文介绍了如何使用Exuberant ctags生成tag文件以及在vim中如何使用tag文件进行跳转、查找等操作。还简要介绍了tag文件的格式,在后面介绍的Lookupfile插件中,会利用tag文件便捷的查找、打开文件。 vim使用进阶: 使用taglist插件 本文介绍如何使用taglist插件(plugin)来查看程序中的标签(tag),并介绍了taglist插件的配置和用法。taglist插件利用Exuberant ctags程序生成标签文件,并提供像Source Insight那样的标签窗口,可以方便的跳转到函数、变量等标签所在的位置。 vim使用进阶: 文件浏览和缓冲区浏览 本节介绍了如何在vim中浏览文件,以及如何查看当前打开的缓冲区。利用netrw插件,可以方便的在vim中浏览各个目录、打开指定文件,而不用切换到文件浏览器或shell;当然,netrw插件的作用并不仅仅局限于此。利用bufexplorer插件,则可以方便的查看打开的缓冲区(buffer),在缓冲区间进行切换。本文的最后介绍了winmanager插件,使用这个插件,可以把netrw插件、bufexplorer插件和taglist插件整合起来,使vim看起来更像一个集成开发环境(IDE)。 vim使用进阶: lookupfile插件 如果你在开发一个大的项目,当你想在一大堆文件中查找或者编辑指定文件时,Lookupfile插件是必不可少的。使用它,可以快速查找项目文件、可以在缓冲区查找指定文件、可以浏览指定目录等。在查找时甚至可以使用正则表达式(regex),在你只记得部分文件名或目录名时,这可是救命的手段。 vim使用进阶: 开启文件类型检测 vim最吸引人的一点是,它支持无穷多的文件类型,而且能够随意扩展。在本文主要介绍如何打开文件类型检测的功能,以及如何使用基于文件类型的插件(filetype plugin)。正因为有了文件类型检测的功能,我们才可能针对不同的类型的文件,定义不同的键映射(map)、设置不同的选项,进行语法高亮的染色(后续文章中介绍)…你可以实现任意你想实现的功能。 vim使用进阶: 乱花渐欲迷人眼 - 语法高亮 VIM并不是只有黑色两色。正相反,它提供了非常灵活的机制允许用户自定义色彩。运行在终端中的VIM,由于终端本身的限制,只能使用若干种固定的颜色;但对于GVIM来讲,你可以根据你的喜好调出任意的颜色。本文介绍的,正是vim的语法高亮功能。 vim使用进阶: 程序员的利器 - cscope 在前面的文章中介绍了利用ctags生成的tag文件,跳转到标签定义的地方。但如果想查找函数在哪里被调用,或者标签在哪些地方出现过,ctags就无能为力了,这时需要使用更为强大的cscope。本文就介绍如何使用cscope,有了它,你可以把source insight抛到一边去了。 vim使用进阶: 剑不离手 - quickfix vim由一个程序员开发,并且为更多的程序员所使用,所以vim对开发人员的强大支持,也就可以理解了。quickfix模式的引入就是一个例子。quickfix模式,是一种加速你开发的工作方式,使你不必离开vim,就可以快速的完成”编辑-编译-修正”你的程序。它不仅仅对开发人员有用,只要你的工作有类似”编辑-编译-修正”的过程,它就可以极大的简化你的工作。 vim使用进阶: 智能补全 使用过Source Insight的人一定对它的自动补全功能印象深刻,在很多的集成开发环境中,也都支持自动补全。vim做为一个出色的编辑器,这样的功能当然少不了。本文主要介绍vim的OMNI补全。将在下一篇中介绍其它的补全方式。 vim使用进阶: 自动补全 本文继续介绍vim的补全功能。作为一个通用的编辑器,vim实现的补全功能并不仅仅限于对程序的补全,它可以对文件名补全、根据字典进行补全、根据本缓冲区或其它缓冲区类似的内容进行补全、根据文件语法补全等等,它甚至允许用户自己编写函数来实现定制的补全。本文简要介绍了这些补全的方法。 vim使用进阶: 指随意动,移动如飞 (一) VIM提供的移动方式多如牛毛,但我们并不需要掌握全部这些命令,只需要掌握最适合自己的那些命令。本文介绍了最常用的一些移动命令,在下篇文章中将介绍更高级的移动方法。 vim使用进阶: 指随意动,移动如飞 (二) 本文介绍如何在vim中移动,主要涉及如何使用跳转表(jump-motions)、使用标记(mark)、使用折行(fold),以及如何在程序中移动。 vim使用进阶: 在VIM中使用GDB调试 本文介绍了如何使用vimgdb补丁在vim中用gdb调试程序,同时还介绍了vim的编译方法。然而,vim只是一个编辑器,而不是一个集成开发环境(IDE),所以它对调试的支持很有限。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值