1. 先用brew工具安装ctags,安装路径在/user/local/bin

The default ctags executable in OSX does not support recursive directory search (i.e. ctags -R). To get a proper copy of ctags, use one of the following options:

2.确保路径正确

Ensure that the PATH is updated so the correct version is run:

  • If which ctags doesn't point at ctags in /usr/local/bin, make sure you add /usr/local/bin to your PATH ahead of the folder which ctags reported.
  • Alternatively, add the path to the new ctags executable to the settings, under command. If you have Xcode / Apple Developer Tools installed this path will likely be /usr/local/bin/ctags.

如何实现ctags跳转:

ctags是一款实现代码跳转的插件,可以提高查看代码的效率,开发尽管可能有IDE,IDE中有代码跳转,但有的时候还是不想打开IDE的或者本身就没IDE,所以有必要安装ctags,本文就介绍如何在mac osx下的sublime text3中使用ctags。

1. ST安装ctags插件

本文就不赘述Sublime Text3的安装了,可以参考Sublime Text 3安装及简单配置进行安装。那么进入正题,这里认为ST已经装好了package control。

  • 快捷键cmd+shift+p呼出文本框中输入Package Control或者菜单栏->Sublime Text->Preferences->Package Control,就会出现类似下面的输入框。

  • 选择Install Package,便会联网获取插件列表,所以得稍等一会,完成后便会显示插件列表:

  • 列表上面的文本框中输入ctags,便会找到CTags插件,选中敲回车键或者鼠标单击,就会联网下载安装插件了:

  • 如果右击左边栏中文件夹,出现CTags:Rebuild Tags这一项,说明已经安装成功:

  • 2. 安装ctags

虽然已经安装了ST的CTags插件,但是ctags还没有安装,可以去sourceforge下载ctags-5.8.tar.gz,也可以点我去百度云下载。

  • 假设下载到~/Downloads目录下,打开终端,敲一下命令进入Downloads:

    cd ~/Downloads

  • 解压ctags-5.8.tar.gz

    tar xzvf ctags-5.8.tar.gz

  • 进入解压目录:

    cd ctags-5.8

  • 编译安装:

    ./configure

    make

    sudo make install

3. 配置ST的CTags插件

需要配置一下CTags插件,更改一下默认配置,主要修改其中ctags目录,因为配置中没有写入ctags的目录。

  • 打开 菜单栏->Sublime Text->Preferences->Package Settings->CTags->Settings-Default/Settings-User这两个文件:

  • 将Settings-Default中的内容全选复制到Settings-User文件中,并将其中Command的值设置为:/usr/local/bin/ctags:

4. 测试

随便找到一个含有c代码的工程目录,用ST打开,我打开的是我的一个BLE开发的工程DJB001_150509_1700V1.14

  • 右击ST中左边栏的文件夹,出现CTags:Rebuild Tags,点击会生成tags文件(这个文件就是函数、变量、宏定义等的 索引文件):

  • 打开工程文件的DJB001_150509_1700V1.4->Projects->ble->CC2541F128->Source->OSAL_SimpleBLEPeripheral.c文件,_尝试跳转,按下shift+ctrl,鼠标左键点击SimpleBLEPeripheral_Init(taskID++) :

  • 就会调转到SimpleBLEPeripheral_Initd的定义:

  • 然后Shift+Ctrl+鼠标右键单击,便会调回刚才的位置。

可以在菜单栏Sublime Text->Preferences->Package Settings->CTags下找到快捷键和鼠标操作的设定,根据自己喜欢在用户设置文件里更改就可以。

 

Mac OSX下Sublime Text配置使用Ctags实现代码跳转的更多相关文章

  1. MAC系统下Sublime Text3 配置Python3详细教程

    MAC系统下Sublime Text3 配置Python3详细教程(亲测有效) https://blog.csdn.net/weixin_41768008/article/details/798590 ...

  2. [转]MAC系统下Sublime Text3 配置Python3详细教程(亲测有效)

    原文地址: https://blog.csdn.net/weixin_41768008/article/details/79859008?tdsourcetag=s_pctim_aiomsg 这段时间 ...

  3. mac osx下虚拟主机配置

    1.打开“终端(terminal)”,输入 sudo apachectl -v,此指令显示apache版本             2.开启apache,输入 sudo apachectl start ...

  4. Mac OSX 下用 Homebrew 安装 MongoDB 并配置到 WebStorm 中

    1. 安装 Ruby OSX 操作系统内置 Ruby,但如果没有 Ruby,则需先输入以下命令安装能够进行多版本ruby环境安装.管理和切换的命令行工具 RVM. 1.1 安装 RVM 打开终端输入以 ...

  5. MAC OSX 下安装 CTAGS

    由于本子跟风换了骚货MBP,因而开发要迁移到MAC OSX下,mac os 下的ctags不一样,所以需要自己编译一个   Lion内置了ctags,但是不我所需要,因此得在网上去弄,最新的版本是 5 ...

  6. Mac下sublime text 的“package control”安装

    小伙伴们好,我根据昨晚的经历写一个小总结:关于“Mac下sublime text 的“package control”安装”.本来安装package control是一个无比简单的事情,即使是初次使用 ...

  7. Windows Sublime Text 配置Linux子系统(WSL)下的 gcc/g++ 编译环境

    0. 简介(若已了解背景可以跳过此部分) Windows 10 Build 14316以上版本中加入了"Windows系统的Linux子系统"(Windows Subsystem ...

  8. 转:Mac OS X下Sublime Text (V2.0.1)破解

    Mac OS X下Sublime Text (V2.0.1)破解 Mac OS X下Sublime Text (V2.0.1)破解 (2013-03-07 14:02:54) 转载▼     正版的买 ...

  9. Mac OSX 下配置 LNMP开发环境

    不久前负责了一个项目需要配置PHP7的开发环境,因为之前所有的项目用的是PHP5的,所以研究了这些东西,但是很遗憾,电脑出了问题,不得已重装了系统,然后你懂得...什么都没有了,要重新来过.. 虽然本 ...

随机推荐

  1. HDU 2298 Toxophily(公式/三分+二分)

    Toxophily Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  2. iOS_20_微博OAuth授权_取得用户授权的accessToken

    终于效果图: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcHJlX2VtaW5lbnQ=/font/5a6L5L2T/fontsize/400/fill ...

  3. ORACLE-015:ora-25153 暂时表空间为空,ora01652 无法通过128

    写了一个复杂的select语句,突然oracle就报了:ora-25153 暂时表空间为空,这个错误,于是网上查了下.发现了例如以下解决方法:创建一个新的暂时表空间. 首先要有system权限.登录进 ...

  4. Unity 3D游戏开发引擎:最火的插件推荐

    摘要:为了帮助使用Unity引擎的开发人员制作更完美的游戏.我们精心挑选了十款相关开发插件和工具.它们是:2D Toolkit.NGUI.Playmaker.EasyTouch & EasyJ ...

  5. Laravel技巧之记录多日志

    相信每个小伙伴在使用laravel的时候都会记录日志.查看日志.那么问题来了,比如我在对接zabbix接口的时候,使用 Log::info() 会让日志全部记录在 storage/logs/larav ...

  6. Clang-Format: Visual Studio Style

    PointerAlignment: Left UseTab: Never IndentWidth: 4 BreakBeforeBraces: Allman AllowShortIfStatements ...

  7. java中模拟http(https)请求的工具类

    在java中,特别是java web中,我们经常需要碰到的一个场景是我们需要从服务端去发送http请求,获取到数据,而不是直接从浏览器输入请求网址获得相应.比如我们想访问微信接口,获取其返回信息. 在 ...

  8. ligerUI---ligerForm中下拉框使用

    写在前面: 最近项目的前框框架用的是ligerUI,一开始我是拒绝的,因为貌似ligerUI很少有人用,我真的很想问我们team的斌哥哥为什么要用ligerUI来做前端框架?????(啊哈哈哈,用什么 ...

  9. list对象数组,xpath复杂定位校验,POST入参为number数组,POST入参为JSON对象数组

    list对象数组: POST入参为number数组: {    "typeIds":[1,2,3]} POST入参为JSON对象数组,举例: [{    "itemId& ...

  10. qml demo分析(externaldraganddrop-拖拽)

    一.效果展示 客户端程序拖拽是一个很常见的需求,对于QWidget程序来说,需要重写如图1这么几个方法,通过重写这几个方法的逻辑,我们就可以控制鼠标拖拽的逻辑,糟糕的是QDrag执行exec后是一个阻 ...