很多linux软件开发实际上并不实在X window的情况下进行的,这时我们不可能启动基于X window的图形化窗口,在这一情况下我们所能使用的主要的编辑器是vim和emacs.(ps:emacs和vim虽然被称为两大编辑器之神,但是个人感觉vim的功能键设置的比较好用)下面详细介绍一下vim的配置使用。对于vim环境本身的设置可以google。下面主要是说明插件的配置。

taglist
首先是ctags的安装,推荐使用exuberant ctags,我们可以从其官方网站上下载它的源码包,进行解压缩,编译,安装即可。
具体过程如下:
cd 到解压后文件的路径
//在编译前执行configure可执行文件,configure程序将检测系统配置情况
./configure
//完成配置以后会得到一个配置文件,用于make编译时使用
//接下来使用make开始编译源代码
make
ps:解析来的命令我们要使用到root权限,注意切换
//编译后我们使用ctags自带的创建目录命令来创建ctags的安装目录
./makeinstalldirs
//最后使用make install来进行安装
make install
至此,ctags的安装已经完成,可以使用ctags命令来检测时候完成安装。
PS:其实exuberant ctags的安装可以直接在命令行下安装,貌似ubuntu 12.04中提供的版本为5.9,而其官方网站上提供的最高版本为5.8,版本问题可能影响到具体的使用。
taglist
下面我们来进行taglist的安装,同ctags的安装一样这里我们也是去其官方网站下载解压其源码包。
具体步骤如下:
我们首先在家目录下创建.vim文件(mkdir .vim)   以便于存放vim的插件。
然后把我们下载到的taglist源码包进行解压,把其中的doc和plugins目录拷贝到.vim文件夹下。
进入到vim在命令模式下输入helptaglist~/.vim/doc即完成了taglist的安装。在vim中输入Tlist,如果出现如下画面则证明安装成功。
完成了taglist和ctags的安装,但是这时ctags和taglist还没有联系起来。为此,我们需要修改~/.vim/plugin/taglist.vim文件,找到if !exitsts(loaded_taglist)这一行,并在其前面添加let Tlist_Ctags_Cmd="/usr/local/bin/ctags"
ps:在这里需要注意的是我们在设置直线需要察看我们ctags可执行可执行路径到底是在哪里,我们可以进入到上述目录,一直找到具体的可执行的文件ctags,并将其路径赋给Tlist_Ctags_Cmd(例如我的路径是/usr/local/bin/ctags/ctags)
vim+taglist+ctags阅读代码
为了使用vim+taglist+ctags来阅读代码,我们首先必须生成函数和变量的符号信息。这一步我们使用ctags完成。
例如我们使用我们刚才下载的ctags的源码包为例。
//生成tag
执行 ctags -R(-R递归作用)
//检查是否生成了tags
ls -l tags
生成tag以后我么就可以进行察看了,具体步骤见如下截图
 
 
输入TlistToggle来打开侧面窗口
 

使用ctr 和两次w在侧窗口和主窗口之间进行切换

移动到土体的函数后,按enter键察看具体函数。

有时我们想察看的函数在其他代码文件中定义,这是我们只要将光标定位到想察看的函数上,然后按ctr+]键就可以进行察看了,按ctr+O可以跳回到源文件中。

 
转自:http://xiangyanglai.blog.163.com/blog/static/2047252022012330111618740/
 
参考资料:

【linux】vim编辑器vim+taglist+ctags的配置的更多相关文章

  1. Linux系列教程(十)——Linux文本编辑器vim

    通过前面几篇博客我们终于结束了Linux常用命令的介绍,Linux常用命令主要包括以下: ①.Linux文件和目录处理命令 ②.Linux链接命令和权限管理命令 ③.Linux文件搜索命令 ④.Lin ...

  2. Linux文本编辑器vim

    目录 1.vim 的工作模式 2.插入命令 3.定位命令 4.删除命令 5.复制和剪切命令 6.替换和取消命令 7.搜索和搜索替换命令 8.保存和退出命令 9.vim 高级操作 10.总结 通过前面几 ...

  3. linux文本编辑器vim大全

    linux基础之vim编辑器 1.vim编辑器 基本介绍 vim编辑器的前身叫做vi.vi的英文名:Visual  Interface.中文解释文本编辑器,你不应该用他去打开二进制可执行文件 文本编辑 ...

  4. 10.18.1 linux文本编辑器vim

    vi和vim的区别 编辑一个文本时,vi不会显示颜色,而vim会显示颜色,vi 有点类似windows记事本,简单,那么就是vim复杂编辑器,功能复杂,高亮,自动缩进(写shell/python脚本用 ...

  5. Linux | 文本编辑器vim

    vim 编辑器介绍 vim 编辑器是一款非常棒的文本处理工具,它会默认安装在当前所有的 Linux 操作系统上面. vim 编辑器中设置了三种模式,可以极大的提高我们的工作效率: 命令模式:控制光标移 ...

  6. linux 文本编辑器 vim 基本操作

    三种模式之间转换: 一般模式 可用于光标移动.复制粘贴.查找替换 "vim.txt"表示文件名 8L 表示8行 , 80C 表示80个字符 移动光标常用操作: h .j. k. l ...

  7. Linux 文本编辑器 vim

    第五讲 文本编辑器 vim

  8. (大数据工程师学习路径)第二步 Vim编辑器----Vim快速入门

    vim模式介绍 以下介绍内容来自维基百科Vim 从vi演生出来的Vim具有多种模式,这种独特的设计容易使初学者产生混淆.几乎所有的编辑器都会有插入和执行命令两种模式,并且大多数的编辑器使用了与Vim截 ...

  9. 自学linux——3.编辑器vim的使用

    编辑器之神--vim 一.      vim的三种模式 1.命令模式(打开文件后默认模式) 不能直接对文件编辑,可以输入快捷键进行一些操作 2.编辑模式 对文件的内容进行编辑 3.末行模式(尾行模式) ...

随机推荐

  1. VB6.0和VB.Net的函数等对照表

    VB6.0和VB.Net的对照表 VB6.0 VB.NET AddItem Object名.AddItem Object名.Items.Add ListBox1.Items.Add ComboBox1 ...

  2. js-特效部分学习-拖拽效果

    一.客户区大小ClientWidth和ClientHeight <style> #box { width: 200px; height: 200px; background-color: ...

  3. 使用MyBatis Generator自动创建代码

    SSM框架--使用MyBatis Generator自动创建代码 1. 目录说明 使用自动生成有很多方式,可以在eclipse中安装插件,但是以下将要介绍的这种方式我认为很轻松,最简单,不需要装插件, ...

  4. React Native填坑之旅--HTTP请求篇

    如果不能从头到尾的建立一个RN应用,那么RN将失色不少.本以为HTTP请求部分需要使用Native的实现,Android和iOS各回各家,各调各库了.Google了一下之后居然RN可以使用fetch库 ...

  5. IMP数据到指定的表空间

    IMP数据到指定的表空间 当我们通过imp导入dmp文件时,默认的情况下,数据会导入到exp出的dmp文件所对应的表空间里面. 比如:通过orcl_dev用户,exp数据,用orcl_test用户im ...

  6. Spring Mobile 1.1.0.RC1 和 1.0.2 发布

    Spring Mobile 1.1.0.RC1 发布了,该版本包含: 支持 Firefox OS 设备的检测 修复了使用 LiteDeviceDelegatingViewResolver 处理重定向和 ...

  7. csc一些命令简记

    C#在命令行进行编译的一些命令: csc使用详解 @echo off cd / cd C:\Program Files (x86)\MSBuild\12.0\Bin set /p var= 请输入文件 ...

  8. .NET跨平台:在Linux上基于ASP.NET 5用EF7生成数据库

    Linux用的是Ubuntu,dnx版本是1.0.0-beta6-12120,EF版本是7.0.0-beta5. 以下是用Entity Framework 7生成SQL Server数据库的操作步骤. ...

  9. GoDaddy自动续费信用卡被扣款后的退款方法

    今天突然收到信用卡被GoDaddy捐款的通知,上GoDaddy网站上一看,是去年购买后来没有使用的一个CA证书被自动续费了.原来在GoDaddy购买的CA证书默认是每年自动续费的,这是一个大坑啊! 当 ...

  10. 深入理解java虚拟机【Java内存结构】

    Java虚拟机规范规定的java虚拟机内存其实就是java虚拟机运行时数据区,其架构如下: 其中方法区和堆是由所有线程共享的数据区. Java虚拟机栈,本地方法栈和程序计数器是线程隔离的数据区. (1 ...