sublime怎么实现函数之间的跳转
1.安装ctags应用程序。
到CTags的官方站点下载最新版本号,将解压后的ctags.exe放到系统环境变量的搜索路径中。通常是C:\windows\system32。
假设你想放到其它目录中,记得要将所在目录置于系统环境变量中。(我的电脑->右键属性->高级系统设置->(系统属性)高级->环境变量->系统变量->Path中加入 (路径前注意加分号))
2,安装Sublime Text 2的Package Control功能。(sublime如今可能集成了此项功能,假设步骤3可用,此步骤能够跳过)
打开Sublime Text 2,使用快捷键ctrl+`(功能菜单View->Show Console)呼出命令行,运行例如以下命令:
import urllib2,os; pf='Package Control.sublime-package'; ipp=sublime.installed_packages_path(); os.makedirs(ipp) if not os.path.exists(ipp)
else None; urllib2.install_opener(urllib2.build_opener(urllib2.ProxyHandler())); open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read()); print 'Please restart Sublime Text to finish installation'
重新启动Sublime text 2。
3、安装Sublime Text3的Package Control功能。
import urllib.request,os;
pf = 'Package
Control.sublime-package';
ipp = sublime.installed_packages_path();
urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) );
open(os.path.join(ipp,
pf), 'wb').write(urllib.request.urlopen(
'http://sublime.wbond.net/' + pf.replace('
','%20')).read())
4.使用Package Control功能安装ctags插件。
按下 Shift + Command + P 调出命令面板。输入 install 调出 Package Control: Install Package 选项。该选项会列出全部可被安装的插件,输入ctags,或者从列表中选择ctags进行安装。
5.使用ctags浏览代码
使用ctrl+t、ctrl+r 两个连续组合键,创建.tagsproject符号索引文件(此时Sublime Text 2会自己主动调用第一步安装的ctags.exe)。.tags文件创建好后,就能够使用快捷键方便得进行代码浏览了。
指令列表
| Command | Key Binding |
|---|---|
| rebuild_ctags -重建ctags索引 | ctrl+t ctrl+r 组合键 |
| navigate_to_definition -跳转到函数定义 | ctrl+t ctrl+t |
| jump_back -跳回 | ctrl+t ctrl+b |
| jump_back to_last_modification -跳转到上次改动处 | ctrl+t ctrl+m |
| show_symbols -按函数索引查找 | alt+s |
附录:
sublime text 2或3中安装完ctags ,对函数进行两次ctrl+T,发现不能跳转,报错: can't find any relevent tags file
------------------------解决方法----------------------------------------------------------
原因是由于没有生成.tags索引文件
生成方法有两种:
1.sublime软件中,功能菜单File->Open Folder 打开要分析的目标目录,从左側边栏中点击打开随意程序文件,按下crtl+T、ctrl+R组合键(即:最上行功能菜单Find->Ctags->rebuild tags),这时能够看到目标目录中生成了.tags索引文件,以及.tags_sorted_by_file。
2.Win+R:输入指令cmd,回车。cd指令进入要分析的目标目录,输入:ctags -R -f .tags
手动生成.tags文件。与方法一不同的是,不会生成.tags_sorted_by_file,只是在使用中尚未发现差别,对此欢迎大家完好补充。
sublime怎么实现函数之间的跳转的更多相关文章
- Sublime text追踪函数插件
Sublime Text2/3怎样在Ubuntu中配置CTags插件 | 浏览:1278 | 更新:2014-03-05 10:34 1 2 3 4 5 6 7 分步阅读 本文详解在Ubuntu Li ...
- js 页面之间的跳转、传参以及返回上一页
js实现html 页面之间的跳转传参以及返回上一页的相关知识点 一.页面之间的跳转传参 1.在页面之间跳转的方式有两种: window.location.href="test.html?nu ...
- Android activity之间的跳转和数据传递
1.Activity之间的跳转 并且 传递数据 A Activity进行的操作 Intent intent = new Intent(context, B.class); intent.putExtr ...
- 微信小程序详解——页面之间的跳转方式【路由】和参数传递
微信小程序拥有web网页和Application共同的特征,我们的页面都不是孤立存在的,而是通过和其他页面进行交互,来共同完成系统的功能.今天我们来研究小程序页面之间的跳转方式. 1.先导 在Andr ...
- 微信小程序开发--页面之间的跳转
一.navigator--完成页面之间的跳转 1.新建一个页面文件夹 2.在app.json文件中引入页面 "pages": [ "pages/index/index&q ...
- Mvc中域的添加和不同域之间的跳转
一.在新添加的域中中的 AreaRegistration中作如下设置: 二.在原来的Global.asax中设置: 三.不同域之间的跳转 @Url.Action("Index", ...
- sprig里的controller之间的跳转的问题
学习spring的controller,发现controller之间的跳转有些地方搞的不是很清楚,如果通过controller的return语句实现跳转的话,会造成request的丢失:具体怎么回事首 ...
- iOS开发拓展篇—应用之间的跳转和数据传递
iOS开发拓展篇—应用之间的跳转和数据传 说明:本文介绍app如何打开另一个app,并且传递数据. 一.简单说明 新建两个应用,分别为应用A和应用B. 实现要求:在appA的页面中点击对应的按钮,能够 ...
- iOS中两个APP之间的跳转和通信
app间的跳转 一:在第一个app首先要做下面这些操作: 1.在info.plist文件中的Information Property List下添加一项:URL types. 2.点开URL type ...
随机推荐
- C语言union关键字
union 关键字的用法与struct 的用法非常类似. union 维护足够的空间来置放多个数据成员中的“一种”,而不是为每一个数据成员配置空间,在union 中所有的数据成员共用一个空间,同一时间 ...
- VLV INDEX
Normally, when the Directory Server conducts a search, the server looks through the entire entry for ...
- 【转】NSHashtable and NSMaptable
本文转自Nidom的博客,原文:<NSHashtable & NSMaptable> NSSet, NSDictionary, NSArray是Foundation框架关于集合 ...
- Linux命令之用户与组管理
介绍 Linux操作系统中,任何文件都归属某一特定的用户,而任何用户都隶属至少一个用户组.用户是否有权限对某文件进行访问.读写以及执行,受到系统严格约束的正式这种清晰.严谨的用户与用户组管理系统.在很 ...
- HTML 5 与HTML 4 的区别
(1)HTML 5 与HTML 4 的相比,语法的改变,以下四个方面: 字符编码改变举例: 省略标记值: (2)新增和废弃的元素 (3)新增html全局属性 (1)指定元素是否可编辑 (2)指定页面是 ...
- Sherpa | Complete Navigation System 介绍与教材
这里的夏尔巴人在iPad上使用的一种新的视频. 正如其名称所暗示的,夏尔巴人是所有您的导航需求的整体解决方案. 夏尔巴人带来了每个接口的三个主要的导航元素结合在一起 - 导航栏,侧边栏和页脚粘. 每一 ...
- 【socket.io研究】1.官网的一些相关说明,概述
socket.io是什么? 官网的解释是一个实时的,基于事件的通讯框架,可以再各个平台上运行,关注于效率和速度. 在javascript,ios,android,java中都实现了,可以很好的实现实时 ...
- 随机获取oracle数据库中的任意一行数据(rownum)
最近看oracle资料的时候,了解rownum的概念,以前只知道对数据库表进行简单的增删改查: 看到了rownum的概念后,突然想到了好多业务场景应该都可以适用的,比如在进行随机发奖的时候, 我们就可 ...
- 读书笔记_Effective_C++_条款二十一:当必须返回对象时,别妄想返回其reference
在栈空间的临时成员变量在函数生命期结束后无法传出 friend A& operator*(const A& a, const A& b) { A temp; temp.data ...
- mysql/tokudb安装
一.环境要求: Operating Systems:64-bit Linux Memory: >=1G 二.安装步骤 1.下载安装包mysql-5.5.41-tokudb-7.5. ...