在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,如下图

举个例子,如果我们想查看RCC的定义,只需要在vim中执行命令
:ta RCC
这时候,就会自动跳转到RCC的定义,如图中光标所在的行

这时,如果我们想跳回到main.c文件中,只需使用快捷键Ctrl+t即可。
怎么样,还算简单吧,复杂的功能也有很多,通过—help获得更详细的信息吧,另外,能够背过命令并且熟练使用也是很重要的。
下一节我将会给大家带来taglist的使用,就是在vim的窗口左面分出一片窗口显示文件目录,但是taglist的使用是需要ctags的,希望大家能首先安装好ctags。
------------------------------------
大家可以+关注我的博客,以便得到最新的文章。
------------------------------------
打字不易,转载请注明出处(http://www.cnblogs.com/humaoxiao/p/3581424.html),谢谢。
在Mac OS X中使用VIM开发STM32(2)的更多相关文章
- 在Mac OS X中使用VIM开发STM32(1)
本文原创于http://www.cnblogs.com/humaoxiao,非法转载者请自重! 在我先前的博文⎣在Mac OS X中搭建STM32开发环境⎤中,我们在Mac中DIY出了最 ...
- 在Mac OS X中使用VIM开发STM32(4)
本文原创于http://www.cnblogs.com/humaoxiao,非法转载者请自重! 在上三篇文章中,我们基本搭建好了开发STM32的IDE环境,当然vim.ctags.tagl ...
- 在Mac OS X中使用VIM开发STM32(3)
本文原创于http://www.cnblogs.com/humaoxiao,非法转载者请自重! 在上一篇文章中,我们安装了ctags插件,ctags能对我们的源代码文件中的元素建立索引表, ...
- 如何在Mac OS X中开启VIM语法高亮和显示行号
VIM (Wikipedia图) Vim 是一款相当给力的源自UNIX平台的命令行文本编辑器,不过不给力的是,Mac OS X下并没有诸多Linux发行版上VIM那些牛逼哄哄的神马代码高亮显示啊,自动 ...
- 转-在Mac OS上搭建Python的开发环境
在Mac OS上搭建Python的开发环境 本文转载自:http://www.jb51.net/article/76931.htm 一. 安装python mac系统其实自带了一个python的执 ...
- Mac OS X 中一些常用的命令行技巧
一.网络设置相关 1.网卡的物理地址的动态重置 出于某些需求,例如网络中的 IP 地址或网络帐号与网卡物理地址绑定,使得多个设备无法切换上网,可尝试临时更改物理地址.不过,系统偏好设置是不能修改网卡物 ...
- 在Mac OS X中配置Apache + PHP + MySQL
在Mac OS X中配置Apache + PHP + MySQL Mac OS X 内置Apache 和 PHP,使用起来非常方便.本文以Mac OS X 10.6.3和为例.主要内容包括: 启动Ap ...
- 在MAC OS X中默认的Web共享目录
在Mac OS X中可以很方便的通过开启"Web共享"启用Apache服务:设置方法如下: 打开"系统设置偏好(System Preferences)" -&g ...
- 在Mac OS X中配置Apache + PHP + MySQL 很详细
这是一篇超级详细的配置mac os下面php+mysql+apache的文章.非常详细我的大部分配置就是参考上面的内容的,比如,PHP不能连接数据库,就是改一下默认的php.ini中pdo_mysql ...
随机推荐
- HDU4632:Palindrome subsequence(区间DP)
Problem Description In mathematics, a subsequence is a sequence that can be derived from another seq ...
- 辛星浅谈PHP的混乱的编码风格
我们都知道.各种编程语言都有自己的风格,即使是像C和C++那样一脉相承的语言(C++本意全然兼容C的语法).编程风格上还是有些区别.比方非常典型的就是C++风格的单行凝视和C风格的多行凝视. 而尽管J ...
- BZOJ 1934: [Shoi2007]Vote 善意的投票 最小割
1934: [Shoi2007]Vote 善意的投票 Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnl ...
- POJ 3104 Drying 二分
http://poj.org/problem?id=3104 题目大意: 有n件衣服,每件有ai的水,自然风干每分钟少1,而烘干每分钟少k.求所有弄干的最短时间. 思路: 注意烘干时候没有自然风干. ...
- (原)nginx 源码编译
要在nginx上开发,所以先了解下这个是干嘛的..百度一下很多 编译源码需要的组件 1.zlib 2.pcre 3.openssl 使用ubuntu的话.可以直接使用 sudo apt-get ins ...
- java_TreeSet 定制排序实例
package ming; import java.util.Comparator; import java.util.TreeSet; class M { int age; public M(int ...
- java专业规划(转载)
1. Java语言基础 谈到Java语言基础学习的书籍,大家肯定会推荐Bruce Eckel的<Thinking in Java>.它是一本写的相当深刻的技术书籍,Java语言基础 ...
- datagrid rownumber行号与数据行显示错位的解决办法
最近在使用datagrid控件,遇到问题多多. 其中一个就是datagrid在使用行编号的情况下,行编号与数据行出现错位的情况,如图:
- 深入理解计算机系统第二版习题解答CSAPP 2.13
从20世纪70年代末到80年代末,Digital Equipment的VAX计算机是一种非常流行的机型.它没有布尔运算AND和OR指令,只有bis(位设置)和bic(位清除)这两种指令.两种指令的输入 ...
- linux__升级java版本
java下载地址:http://www.oracle.com/index.html 使用which java查看到,Java的环境变量指向的还是/usr/bin/java,问题找到了.于是就进行了下面 ...