好文档 - 专业文书写作范文服务资料分享网站

vim学习手册 - 图文

天下 分享 时间: 加入收藏 我要投稿 点赞

你可能会发现很多东西没有高亮起来, 比如运算符号, 各种括号, 函数名, 自定义类型等, 但是看上面的图片, 我的运算符号和函数名都加亮了^_^, 想知道为什么吗? 哇哈哈哈哈.... 让我来教你吧 ...

主要的思路是新建一个语法文件, 在文件中定义你要高亮的东东, 想高亮什么就高亮什么, 用vim就是这么自信. 所谓的语法文件就是vim用来高亮各种源文件的一个脚本, vim靠这个脚本的描述来使文件中的不同文本显示不同的颜色, 比如C语言的语法文件放在类似于这样的一个路径中:

/usr/share/vim/vim64/syntax/c.vim

其他语言的语法文件也可以在这个路径中找到, 你的也许不在这个路径中, 不管它, 在你自己的HOME下新建一个语法文件, 新建一个空文件: ~/.vim/syntax/c.vim 在其中加入

\\

\syn match cFunction

\me=e-2 syn match cFunction

\me=e-1

hi cFunction gui=NONE guifg=#B5A1FF

\\

\\

syn match cMathOperator display \ \

syn match cPointerOperator display \\\|\\.\ \

syn match cLogicalOperator display \ syn match cLogicalOperator display \ \

syn match cBinaryOperator display \\\(&\\||\\|\\^\\|<<\\|>>\\)=\\=\

syn match cBinaryOperator display \ syn match cBinaryOperatorError display \ \More C logical operators - highlight in preference to binarysyn match cLogicalOperator display \\\|||\ syn match cLogicalOperatorError display \\\(&&\\|||\\)=\

\

hi cMathOperator guifg=#3EFFE2

http://blog.csdn.net/wooin?

6

hi cPointerOperator guifg=#3EFFE2 hi cLogicalOperator guifg=#3EFFE2 hi cBinaryOperator guifg=#3EFFE2 hi cBinaryOperatorError guifg=#3EFFE2 hi cLogicalOperator guifg=#3EFFE2 hi cLogicalOperatorError guifg=#3EFFE2

再打开你的C文件看看, 是不是又明亮了许多. 还有一个压箱底的要告诉你, 如果你自己增加了一个类型或者结构之类的, 怎么让它也象\的文件~/.vim/syntax/c.vim中添加下面的东东:

\\

\syn keyword cType My_Type_1 My_Type_2 My_Type_3

这样你自己的类型My_Type_1, My_Type_2, My_Type_3就也可以向\这样的缺点是每增加一个类型, 就要手动在这里添加一下, 如果有人知道更简单的方法请一定一定要告诉我, 用下面的地址: Email

: lazy.fox.wu#gmail.com

Homepage : http://blog.csdn.net/wooin5 在程序中跳来跳去: Ctags 的使用

哇, 这下可厉害了, Tag文件(标签文件)可是程序员的看家宝呀, 你可以不用它, 但你不能不知道它, 因为Linux内核源码都提供了\Tag文件.

tags文件是由ctags程序产生的一个索引文件, ctags程序其是叫\Unix上面ctags程序的替代品, 并且比它功能强大, 是大多数Linux发行版上默认的ctags程序. 那么tags文件是做什么用的呢? 如果你在读程序时看了一个函数调用, 或者一个变量, 或者一个宏等等, 你想知道它们的定义在哪儿, 怎么办呢? 用grep? 那会搜出很多不相干的地方. 现在流行用是的, 谁用谁知道呀, 当光标在某个函数或变量上时, 按下\Visual Studio的程序员了, 开始羡慕我吧~_~.

你现在先别急着去按, 你按没用的, 要不要我干什么呀, 你现在要做的是查查你电脑里有没有ctags这个程序, 如果有, 是什么版本的, 如果是Ctags 5.5.4, 就象我一样, 你最好去装一个Ctags 5.6, 这个在后面的自动补全章节中会用到. 在这个网站:

http://ctags.sourceforge.net, 下载一个类似 ctags-5.6.tar.gz 的文件下来(现在好像5.7版的也出来了, 不过我还没用过):

用下面的命令解压安装: $ tar -xzvf ctags-5.6.tar.gz $ cd ctags-5.6 $ make

http://blog.csdn.net/wooin?

7

# make install // 需要root权限

然后去你的源码目录, 如果你的源码是多层的目录, 就去最上层的目录, 在该目录下运行命令: ctags -R

我现在以 vim71 的源码目录做演示 $ cd /home/wooin/vim71 $ ctags -R

此时在/home/wooin/vim71目录下会生成一个 tags 文件, 现在用vim打开 /home/wooin/vim71/src/main.c $ vim

/home/wooin/vim71/src/main.c 再在vim中运行命令:

:set

tags=/home/wooin/vim71/tags

该命令将tags文件加入到vim中来, 你也可以将这句话放到~/.vimrc中去, 如果你经常在这个工程编程的话.

下面要开始真刀实枪的开干了, 如下图, 将光标放在setmouse()函数上

(--- 图3 ---)

http://blog.csdn.net/wooin?

8

此时按下, 光标会自动跳到setmouse()函数的定义处, 见下图:

(--- 图4 ---)

如果此时你还想再跳回刚才的位置, 你还可以按, 这样又跳回到setmouse()函数被调用的地方了, 变量, 结构, 宏, 等等, 都可以的, 赶快试试吧.....

此时在回头学习一下第3节中说的vim手册吧 :help usr_29

不过还有一个小瑕疵, 你修改程序后, 比如增加了函数定义, 删除了变量定义, tags文件不能自动rebuild, 你必须手动再运行一下命令: $ ctags -R

使tags文件更新一下, 不过让人感到欣慰的是vim不用重新启动, 正在编写的程序也不用退出, 马上就可以又正确使用了. 如果有人知道更简单的方法请一定一定要告诉我, 用下面的地址: Email

: lazy.fox.wu#gmail.com

Homepage : http://blog.csdn.net/wooin6. 教你高效地浏览源码 -- 插件: TagList

http://blog.csdn.net/wooin?

9

下载地址 版本 安装 手册

http://www.vim.org/scripts/script.php?script_id=273 4.4

在 ~/.vim 目录下解压taglist_xx.zip :help taglist.txt

在Windows平台上用过Source Insight看程序的人肯定很熟悉代码窗口左边那个Symbol窗口, 那里面列出了当前文件中的所有宏, 全局变量, 函数名等, 在查看代码时用这个窗口总揽全局, 切换位置相当方便, 今天告诉你一个vim的插件: Taglist, 可以同样实现这个功能.

上一节已经告诉你ctags的用法了, ctags的基本原理是将程序程序中的一些关键字(比如:函数名, 变量名等)的名字, 位置等信息通过一个窗口告诉你, 如果你已经安装好taglist, 则可以用下面的命令看看taglist自带的帮助文件: :help taglist.txt

下面是我翻译的其中的第一段\taglist, 翻译的不好, 请指教: \List\Vim插件, 这个插件可以让你高效地浏览各种不同语言编写的的源代码, \

* 在Vim的一个垂直或水平的分割窗口中显示一个文件中定义的tags(函数,

类, 结构,

变量, 等)

* 在GUI Vim中, 可以选择把tags显示在下拉菜单和弹出菜单中

* 当你在多个源文件/缓冲区间切换时, taglist窗口会自动进行相应地更新. 当你打开新文件时, 新文件中定义的tags会被添加到已经存在的文件列表中, 并且所有文件中定义的tags会以文件名来分组显示

* 当你在taglist窗口中选中一个tag名时, 源文件中的光标会自动跳转到该tag的定 义处

* 自动高亮当前的tag名

* 按类型分组各tag, 并且将各组显示在一个可折叠的树形结构中 * 可以显示tag的原始类型和作用域

* 在taglist窗口可选择显示tag的原始类型替代tag名 * tag列表可以按照tag名, 或者时间进行排序

* 支持以下语言的源文件: Assembly, ASP, Awk, Beta, C,

C++, C#, Cobol, Eiffel, Erlang, Fortran, HTML, Java, Javascript, Lisp, Lua, Make, Pascal, Perl, PHP, Python, Rexx, Ruby, Scheme, Shell, Slang, SML, Sql, TCL, Verilog, Vim and Yacc.

* 可以很简单的扩展支持新的语言. 对新语言支持的修改也很简单.

* 提供了一些函数, 可以用来在Vim的状态栏或者在窗口的标题栏显示当前的tag名 * taglist中的文件和tags的列表可以在被保存和在vim会话间加载 * 提供了一些用来取得tag名和原始类型的命令 * 在控制台vim和GUI vim中都可以使用

* 可以和winmanager插件一起使用. winmanager插件可以让你同时使用文件浏览器,

http://blog.csdn.net/wooin?

10

vim学习手册 - 图文

你可能会发现很多东西没有高亮起来,比如运算符号,各种括号,函数名,自定义类型等,但是看上面的图片,我的运算符号和函数名都加亮了^_^,想知道为什么吗?哇哈哈哈哈....让我来教你吧...主要的思路是新建一个语法文件,在文件中定义你要高亮的东东,想高亮什么就高亮什么,用vim就是这么自信.所谓的语法文件就是vim用来高亮各种源文件的一个脚本,vi
推荐度:
点击下载文档文档为doc格式
0j22q1v0ey6gjog0oaev
领取福利

微信扫码领取福利

微信扫码分享