• 在Mac OS X中使用VIM开发STM32(2)


    本文原创于http://www.cnblogs.com/humaoxiao,非法转载者请自重!

    在我先前的博文⎣在Mac OS X中使用VIM开发STM32(1)⎤中,我们安装完成了MACVIM,这一节我们安装代码标签索引工具ctags,它一个最常用的功能就是“转到定义”了,查找某个变量的出处,查找它被引用的地方等等。当然它还可以与taglist等工具配合使用,获得更强大的功能,在这一篇文章中我们只介绍ctags的安装与使用。

    二、下载安装ctags

    在MAC OS X中,目录/usr/bin中有ctags这个程序,这时如果你在终端输入

    $ctags

    将会打印出以下信息:

    $usage: ctags [-BFadtuwvx] [-f tagsfile] file ...

     

    但是,系统自带的ctags并不是我们想要的ctags,我们暂且忽略它,不过要记得有这么回事。

    2.1 下载ctags源码包

        打开http://ctags.sourceforge.net网站下载ctags源码包,已经很久很久没有更新了,最新版本是ctags-5.8.tar.gz。

        下载下来后,将其解压到你的用户文件夹下,我的用户名是apple,所以我将它解压到/Users/apple目录下。

    这时候应该有/Users/apple/ctags-5.8这个文件夹了,为了方便起见,我们将文件夹ctags-5.8重命名为ctags。

    2.2 编译ctags源码

        cd到ctags文件夹中,执行命令

    ./configure

        完成后再执行命令

    make

        顺利的话,在ctags文件夹下就会出现ctags这个可执行文件了。

    2.3 添加用户变量

        如果不添加用户变量的话,我们每次输入ctags,调用的还是/usr/bin当中的ctags,这不是我们想要的。所以我们更改用户变量,使ctags指向/Users/apple/ctags文件夹。

    在终端执行命令

    vim ~/.profile

        在打开的文件中,添加这么一行

    export PATH=/Users/apple/ctags:$PATH

        保存退出后执行命令

    source ~/.profile

        使.profile生效,这时如果我们再次在终端中输入ctags命令,就会打印出以下信息

    ctags: No files specified. Try "ctags --help".

        这说明系统调用了正确的ctags程序,阶段性胜利!

    2.4 Demo

        关于ctags的使用,我们可以通过在终端输入

    $ctags —help

    进行查看。

        在这里我们还是以我在在博文⎣Mac OS X中搭建STM32开发环境(3)⎤中Demo使用的源码为例子,让大家感受一下ctags的使用方法。

        我们还是将Demo源码解压到自己的用户文件夹之中,这里我解压到/Users/apple中,此时应该会有/Users/apple/stm32f4-discovery文件夹了。我们cd进去,执行命令

    ctags -R

    给所有的源码文件添加索引,这时候在stm32f4-discovery文件夹下就会出现一个名为tags的文件,该文件中保存的就是所有源码中得element reference信息。我们从当前目录启动MACVIM,查看main.c文件:

    mvim src/main.c

    这时打开了文件main.c,如下图

    NewImage

        举个例子,如果我们想查看RCC的定义,只需要在vim中执行命令

    :ta RCC

        这时候,就会自动跳转到RCC的定义,如图中光标所在的行

    NewImage

        这时,如果我们想跳回到main.c文件中,只需使用快捷键Ctrl+t即可。

        怎么样,还算简单吧,复杂的功能也有很多,通过—help获得更详细的信息吧,另外,能够背过命令并且熟练使用也是很重要的。

      下一节我将会给大家带来taglist的使用,就是在vim的窗口左面分出一片窗口显示文件目录,但是taglist的使用是需要ctags的,希望大家能首先安装好ctags。


    ------------------------------------ 

    大家可以+关注我的博客,以便得到最新的文章。

    ------------------------------------

    打字不易,转载请注明出处(http://www.cnblogs.com/humaoxiao/p/3581424.html),谢谢。


  • 相关阅读:
    Unity Shader 之 uv动画
    c++源文件后缀名问题
    Unity Shader 之 透明效果
    正则表达式
    Unity Shader基础
    Unity Shader 之 渲染流水线
    2017/11/22 Leetcode 日记
    2017/11/21 Leetcode 日记
    2017/11/13 Leetcode 日记
    2017/11/20 Leetcode 日记
  • 原文地址:https://www.cnblogs.com/humaoxiao/p/3581424.html
Copyright © 2020-2023  润新知