一、环境:刚安装好的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语言描述》复习——第十章“算法设计技巧”——Huffman编码

    2014.07.06 16:47 简介: 给定一段有固定符号集合S构成的文本T,集合S中总共有n种符号.如果对于每种符号,使用一种不同的由‘0’和‘1’构成的位字符串来代替,比如: ‘a’->‘ ...

  2. CodeIgniter学习笔记四:CI中的URL相关函数,路由,伪静态,去掉index.php

    一.URL相关函数 1.加载url模块 加载url有两种方式: a.自动加载:在 application/config/autoload.php 中开启 $autoload['helper'] = a ...

  3. global js库

    var GLOBAL = {}; GLOBAL.namespace = function(str) { var arr = str.split("."), o = GLOBAL,i ...

  4. 浅谈 css 之 position用法

    在 css中, position 属性有四个值可用: static(默认值).absolute.relative.fixed. relative:相对定位(相对于自身进行在常规流中的位置进行定位,保留 ...

  5. Python全栈工程师(迭代器、字节串)

    ParisGabriel                每天坚持手写  一天一篇  决定坚持几年 为了梦想为了信仰     Python人工智能从入门到精通 迭代器 Iterator: 用<&g ...

  6. Python下安装protobuf

    1. 下载安装包 2. 解压缩 tar –xzvf protobuf-2.6.1.tar.gz 3. 安装protoc 在python中使用protocbuf需要Protocal Buffer 编译器 ...

  7. Three Garlands~Educational Codeforces Round 35

    C. Three Garlands time limit per test 2 seconds memory limit per test 256 megabytes input standard i ...

  8. Python设置函数调用超时

    http://blog.sina.com.cn/s/blog_63041bb80102uy5o.html 背景:        最近写的Python代码不知为何,总是执行到一半卡住不动,为了使程序能够 ...

  9. PriorityQueue详解(一)

    在Java SE 5.0中,引入了一些新的Collection API,PriorityQueue就是其中的一个.今天由于机缘巧合,花了一个小时看了一下这个类的内部实现,代码很有点意思,所以写下来跟大 ...

  10. Android APK瘦身方法小结

    众所周知,APP包体的大小,会影响推广的难度,用户不太喜欢下载太大的APP,同类型同等功能的APP中往往是包体小的更受用户的青睐,所以降低包体是一项非常必要的事情,也是最近公司的APP需要降低包体,所 ...