一、环境:刚安装好的Ubuntu14.04,本文只能保证 在Ubuntu下能达到效果。

二、安装GVim。

sudo apt-get update
sudo apt-get install vim-gtk

三、自定义vim与Gim语法高亮。

控制语法高亮的文件叫做 语言名.vim,例如,你想自定义C语言的语法高亮,那么叫做c.vim。

你可以在自己的根目录下新建目录,然后在这里面配置,这样仅针对你一个用户有效

 ~/.vim/plugin  插件目录
~/.vim/doc 文档目录
~/.vim/syntax 语法目录
~/.vimrc 配置目录

不过我直接修改的全局的,即修改的是

/usr/share/vim/vim74/syntax/c.vim

中的。

将如下追加复制到你们的/usr/share/vim/vim74(数字可能因版本不同有变化)/syntax/c.vim文件中:

"========================================================
" Highlight All Function
"========================================================
syn match cFunction display "\<[a-zA-Z_][a-zA-Z_0-9]*\>[^()]*)("me=e-
syn match cFunction display "\<[a-zA-Z_][a-zA-Z_0-9]*\>\s*("me=e-
hi def link cFunction Special "========================================================
" Highlight All Math Operator
"========================================================
" C math operators
syn match cMathOperator display "[-+\*\%=]"
" C pointer operators
syn match cPointerOperator display "->\|\."
" C logical operators - boolean results
syn match cLogicalOperator display "[!<>]=\="
syn match cLogicalOperator display "=="
" C bit operators
syn match cBinaryOperator display "\(&\||\|\^\|<<\|>>\)=\="
syn match cBinaryOperator display "\~"
syn match cBinaryOperatorError display "\~="
" More C logical operators - highlight in preference to binary
syn match cLogicalOperator display "&&\|||"
syn match cLogicalOperatorError display "\(&&\|||\)=" " Math Operator
hi def link cMathOperator cComment
hi def link cPointerOperator Operator
hi def link cLogicalOperator cComment
hi def link cBinaryOperator cComment
hi def link cLogicalOperatorError cError

保存退出,如果之前你在配置文件即vimrc中设置了 syntax on的话,那么你就可以打开一个C语言文件体会效果了。但是在vim与GVim中效果不同。

四、设置vimrc,即配置vim选项

将如下文本追加到/etc/vim/vimrc中,你也可以写入~/.vimrc 配置目录中。

set nocompatible
set nu
colorscheme koehler
filetype on
set history=
syntax on
set autoindent
set smartindent
set tabstop=
set shiftwidth=
set showmatch
set vb t_vb=
set ruler
set incsearch
set background=dark set foldenable
set foldmethod=syntax syntax enable

粘贴复制的时候请删除行号。    注意, 所有的选项必须在 syntax enable之前,不然不会生效。

保存退出,此时会设置好了以下内容:

#去掉讨厌的有关vi一致性模式,避免以前版本的一些bug和局限
#显示行
#设置高亮风格
#检测文件的类型号
#记录历史的行数
#背景使用黑色
#语法高亮度显示
#vim使用自动对起,也就是把当前行的对起格式应用到下一行;
#依据上面的对起格式,智能的选择对起方式,对于类似C语言编写上很有用
#第一行设置tab键为4个空格,第二行设置当行之间交错时使用4个空格
#设置匹配模#当vim进行编辑时,如果命令错误,会发出一个响声,该设置去 掉响声式,类似当输入一个左括号时会匹配相应的那个右括号
#在编辑过程中,在右下角显示光标位置的状态行
#查询时非常方便,如要查找book单词,当输入到/b时,会自动找到第一
#个b开头的单词,当输入到/bo时,会自动找到第一个bo开头的单词,依
#次类推,进行查找时,使用此设置会快速找到答案,当你找要匹配的单词
#时,别忘记回车
#加入了zc zo 关闭 打开折叠代码块

五、 跳转到变量函数定义处。

配置完此功能,可以利用ctrl+]跳转到定义,ctrl+t返回原位置。

5.1 看你是否安装了Ctags。如果没有,请前往http://ctags.sourceforge.net下载一个 名字类似 ctags-5.6.tar.gz的包。

然后解压并编译与安装:

    

$ tar -xzvf ctags-5.6.tar.gz
$ cd ctags-5.6
$ ./configure // 生成make文件
$ make
# make install // 需要root权限

    然后进入你正在开发准备编译工程的源码的目录,执行:

$ ctags -R

   会生成一个tags的文件,用vim打开你工程中的一个文件,例如main.c

然后在vim中执行:

    

:set tags=tags的目录/tags

这样将tags加入到了vim中。 如果你嫌麻烦,可以把这句话放入前文提到的 vimrc中去。

此时就可以ctrl+] 与 ctrl+t 的嗨嗨皮皮了。

六、左侧出现列表:

  6.1 http://www.vim.org/scripts/script.php?script_id=273 下载taglist_XX_zip

  6.2 ./.vim下解压此zip,也可以放到/usr/share/vim/vim74下。

6.3 解压后,doc 与 plugin中多了两个文件,你也可以自己在任意处解压该zip,把那俩文件放进去。

6.4 在/etc/vimrc中追加:

t Tlist_Show_One_File=
let Tlist_Exit_OnlyWindow=

然后在打开的源文件中 :Tlist即可。

参考网站:

http://blog.csdn.net/namecyf/article/details/7787479  主要参考来源。该网站的高亮处的代码有错,本文中根据其所改写。

http://blog.chinaunix.net/uid-1728743-id-24359.html  提供改写灵感

http://www.cnblogs.com/yootime/archive/2010/09/24/1833564.html   参考 安装GVim

http://blog.csdn.net/caoshuming_500/article/details/7648169 提供vimrc配置

Ubuntu14.04配置VIM与GVIM 高亮、跳转与变量函数列表的更多相关文章

  1. Caffe+CUDA7.5+CuDNNv3+OpenCV3.0+Ubuntu14.04 配置参考文献 以及 常见编译问题总结

    Caffe+CUDA7.5+CuDNNv3+OpenCV3.0+Ubuntu14.04  配置参考文献 ---- Wang Xiao Warning: Please make sure the cud ...

  2. Caffe+CUDA8.0+CuDNNv5.1+OpenCV3.1+Ubuntu14.04 配置参考文献 以及 常见编译问题总结

    Caffe + CUDA8.0 + CuDNNv5.1 + OpenCV3.1 + Ubuntu14.04  配置参考文献 ---- Wang Xiao  Anhui University  CVPR ...

  3. ubuntu14.04 配置网络

    ubuntu14.04 配置网络的练习 本文参考的资料: https://blog.csdn.net/liu782726344/article/details/52912797. 感谢作者的分享! 打 ...

  4. Ubuntu14.04配置gcc4.4.4+Qt4.8.4交叉编译环境

    安装32位程序运行支持 sudo apt-get install lib32stdc++6 lib32z1 lib32ncurses5 lib32bz2-1.0 可能报错: lib32stdc++6 ...

  5. Ubuntu14.04配置Mono+Jexus

    总所周知,ASP.NET是微软公司的一项技术,是一个网站服务端开发的一种技术,它可以在通过HTTP请求文档时再在Web服务器上动态创建它们,就是所谓动态网站开发,它依赖运行于 IIS 之中的程序 .但 ...

  6. ubuntu14.04 配置中文输入法

    ubuntu14.04自带中文输入法,只要配置就可以了. 1.安装中文支持 System Settings -->  Language Support 点击 install/remove lan ...

  7. ubuntu14.04配置中文latex完美环境(texlive+texmaker+lyx)

    Ubuntu下的文档编辑虽然有libreoffice,但对中文和公式的排版始终不如ms office,因此要想写出高质量的文档,只能靠latex了,现在随着xeCjk的开发,中文文档在ubuntu下的 ...

  8. 64位ubuntu14.04配置adb后提示没有那个文件或目录

    1.配置完adb环境变量后在终端输入adb: ameyume@ameyume-HP-450-Notebook-PC:~$ adb /home/ameyume/adt-bundle-linux-x86_ ...

  9. ubuntu14.04 配置tomcat8

    ubuntu下配置tomcat的过程事实上和windows是差点儿相同的,以下一起来看一下怎样在ubuntu14.04中配置tomcat. 1.下载tomcat 地址:http://tomcat.ap ...

随机推荐

  1. 《数据结构与算法分析:C语言描述》复习——第九章“图论”——拓扑排序

    2014.07.04 17:23 简介: 我们考虑一种特殊的图: 1. 有向图 2. 只有一个连通分量 3. 不存在环 那么这样的图里,必然可以找到一种排序方式,来确定谁在谁的“前面”. 简单的来说可 ...

  2. 《Cracking the Coding Interview》——第3章:栈和队列——题目2

    2014-03-18 05:08 题目:实现一个栈,除了能进行push和pop之外,还能在O(1)时间内返回栈中最小的元素. 解法:用另一个“最小栈”存放最小的元素,每当有不小于当前最小值的元素进栈时 ...

  3. GTID环境中手动修复主从故障一例(Error 1146)

      Preface       In my last test of pt-heartbeat,both of master and slave were out of disk.And the my ...

  4. Oracle 自增写给自己的

    首先咱先建一张表: CREATE TABLE example( ID Number(4) NOT NULL PRIMARY KEY, NAME VARCHAR(25), PHONE VARCHAR(1 ...

  5. Ext JS 的一个非常好的学习网站

    起飞网 http://www.qeefee.com/zt-extjs 发现一个非常好的学习ExtJS的中文网站

  6. pytorch:EDSR 生成训练数据的方法

    Pytorch:EDSR 生成训练数据的方法 引言 Winter is coming 正文 pytorch提供的DataLoader 是用来包装你的数据的工具. 所以你要将自己的 (numpy arr ...

  7. P2135 方块消除

    题目描述 Jimmy最近迷上了一款叫做方块消除的游戏.游戏规则如下:n个带颜色方格排成一列,相同颜色的方块连成一个区域(如果两个相邻方块颜色相同,则这两个方块属于同一区域).为简化题目,将连起来的同一 ...

  8. [洛谷P3509][POI2010]ZAB-Frog

    题目大意:有$n$个点,每个点有一个距离(从小到大给出),从第$i$个点跳一次,会跳到距离第$i$个点第$k$远的点上(若有两个点都是第$k$远,就跳到编号小的上).问对于从每个点开始跳,跳$m$次, ...

  9. hdu 6126 Give out candies

    hdu 6126 Give out candies(最小割) 题意: 有\(n\)个小朋友,标号为\(1\)到\(n\),你要给每个小朋友至少\(1\)个且至多\(m\)个的糖果.小朋友们共提出\(k ...

  10. server reached pm.max_children setting (5), consider raising it

    先查看日志 /data1/server/php-cgi/var/log/php-fpm.log[19-Dec-2012 11:41:13] WARNING: [pool www] server rea ...