Ubuntu14.04配置VIM与GVIM 高亮、跳转与变量函数列表
一、环境:刚安装好的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 高亮、跳转与变量函数列表的更多相关文章
- Caffe+CUDA7.5+CuDNNv3+OpenCV3.0+Ubuntu14.04 配置参考文献 以及 常见编译问题总结
Caffe+CUDA7.5+CuDNNv3+OpenCV3.0+Ubuntu14.04 配置参考文献 ---- Wang Xiao Warning: Please make sure the cud ...
- Caffe+CUDA8.0+CuDNNv5.1+OpenCV3.1+Ubuntu14.04 配置参考文献 以及 常见编译问题总结
Caffe + CUDA8.0 + CuDNNv5.1 + OpenCV3.1 + Ubuntu14.04 配置参考文献 ---- Wang Xiao Anhui University CVPR ...
- ubuntu14.04 配置网络
ubuntu14.04 配置网络的练习 本文参考的资料: https://blog.csdn.net/liu782726344/article/details/52912797. 感谢作者的分享! 打 ...
- Ubuntu14.04配置gcc4.4.4+Qt4.8.4交叉编译环境
安装32位程序运行支持 sudo apt-get install lib32stdc++6 lib32z1 lib32ncurses5 lib32bz2-1.0 可能报错: lib32stdc++6 ...
- Ubuntu14.04配置Mono+Jexus
总所周知,ASP.NET是微软公司的一项技术,是一个网站服务端开发的一种技术,它可以在通过HTTP请求文档时再在Web服务器上动态创建它们,就是所谓动态网站开发,它依赖运行于 IIS 之中的程序 .但 ...
- ubuntu14.04 配置中文输入法
ubuntu14.04自带中文输入法,只要配置就可以了. 1.安装中文支持 System Settings --> Language Support 点击 install/remove lan ...
- ubuntu14.04配置中文latex完美环境(texlive+texmaker+lyx)
Ubuntu下的文档编辑虽然有libreoffice,但对中文和公式的排版始终不如ms office,因此要想写出高质量的文档,只能靠latex了,现在随着xeCjk的开发,中文文档在ubuntu下的 ...
- 64位ubuntu14.04配置adb后提示没有那个文件或目录
1.配置完adb环境变量后在终端输入adb: ameyume@ameyume-HP-450-Notebook-PC:~$ adb /home/ameyume/adt-bundle-linux-x86_ ...
- ubuntu14.04 配置tomcat8
ubuntu下配置tomcat的过程事实上和windows是差点儿相同的,以下一起来看一下怎样在ubuntu14.04中配置tomcat. 1.下载tomcat 地址:http://tomcat.ap ...
随机推荐
- 为什么i=i++后,i的值不变(深入解析)
在Java中,运行以下代码: int i=10; i=i++; System.out.println(i); 得到的结果仍然为10,为什么呢?理论上,运算的过程不应该是i首先把10取出来,赋值给i,然 ...
- Robocopy.exe使用详例
Robocopy.exe使用详例 Robocopy.exe 是 微软在Windows server 2003 Resource Kit Tools 里面提供的程序来做备份的.Vis ...
- 剑指Offer - 九度1522 - 包含min函数的栈
剑指Offer - 九度1522 - 包含min函数的栈2013-12-01 23:44 题目描述: 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数. 输入: 输入可能包含多个测 ...
- C++文件操作(转)
C++文件操作(转) 第一个:简单,容易理解,常用:http://www.cnblogs.com/uniqueliu/archive/2011/08/03/2126545.html 第二个:详细的,如 ...
- js实现类bootstrap模态框动画
在pc端开发,模态框是一个很常用的插件,之前一直用的第三方插件,比如bootstrap,jQuery的模态框插件,最近还用了elementUI的.但是会发现其实动画效果都差不多,那么如何去实现这样一个 ...
- 小程序使用Canvas画饼图
先上效果图 -------------------------------------------------------------wxml代码开始------------------------- ...
- DWZ(J-UI)之路:错误
1:关于左侧点击会把右边小窗口替换掉,导致右边永远只有一个小窗口. 方法:因为缺少了这个—— <li><a href="/admin/demo/index" ta ...
- protobuf-net与FlatBuffers
protobuf-net Protobuf是google开源的一个项目,用户数据序列化反序列化,google声称google的数据通信都是用该序列化方法.它比xml格式要少的多,甚至比二进制数据格式也 ...
- Python网络编程(子进程的创建与处理、简单群聊工具)
前言: 昨天我们已经了解了多进程的原理以及它的实际使用 Unix/Linux操作系统提供了一个fork()系统调用,它非常特殊.普通的函数调用,调用一次,返回一次, 但是fork()调用一次,返回两次 ...
- CentOS 6.3 下 vsftp搭建
环境:CentOS6.3 ftp的三种用户模式 匿名用户:vsftp默认开启匿名用户,但只允许下载不允许上传:匿名用户anonymous或ftp:匿名用户目录/var/ftp,但实际上vsftp对匿名 ...