学习笔记-使用Sublime Text2+Ctags+Cscope查看linux内核

学习笔记-使用Sublime Text3+Ctags+Cscope替代Source Insight

Sublime Text 是一个代码编辑器(Sublime Text 2是收费软件,但可以无限期试用),也是HTML和散文先进的文本编辑器。Sublime Text是由程序员Jon Skinner于2008年1月份所开发出来,它最初被设计为一个具有丰富扩展功能的Vim。

Sublime快捷键

  • ctrl+shift+p:打开命令行
  • ctrl+p:搜索项目中的文件,支持模糊匹配
  • ctrl+r:列出当前文件中的所有函数,同ctrl+p后按一个@符号一样,其实可以把ctrl+r理解成ctrl+p的快捷键
  • ctrl+r+‘:’/’#’:先删除前面的’@‘,接‘:’,再在后面输入行号,跳转指定行,接’#’,搜索字符串,注意,支持组合使用,例如,可以在’@‘/’:’/’#’前面加上文件名字,在指定文件里面进行相应的操作,例如,ctrl+p后,输入file_name@,就直接列出了file_name文件里面的函数
  • ctrl+f:当前文件中查找关键字
  • ctrl+shift+鼠标左键:选中函数,定位函数定义位置
  • ctrl+t:按两次T,定位函数定义的地方,与上面ctrl+shift+鼠标左键一样
  • ctrl+shift+f:在所有文件里面搜索
    多重选择,按下ctrl,在希望出现光标的地方点击
  • F11:全屏
  • shift+F11:全屏免打扰模式,只编辑当前文件
  • Ctrl+M 光标移动至括号内开始或结束的位置
  • Ctrl+Shift+M 选择括号内的内容(按住-继续选择父括号)
  • Esc 退出光标多行选择,退出搜索框,命令框等
  • Ctrl+D 选中光标所占的文本,继续操作则会选中下一个相同的文本
  • Alt+F3 选中文本按下快捷键,即可一次性选择全部的相同文本进行同时编辑。举个栗子:快速选中并更改所有相同的变量名、函数名等

Package Control插件

安装Package Control插件,有两种方式,一种是通过命令行,另一种是通过下载安装包

一.命令行安装

打开控制台,直接通过Ctrl+~,或者通过View->Show Console
粘贴下面内容到控制台

Sublime text 3

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())

Sublime text 2

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')

二.下载安装包安装

  • 点击 Preferences->Browse Packages… menu选择安装路径
  • 下载Package Control.sublime-package,并且拷贝到安装路径
  • 重启Sublime Text
  • 安装成功后,将会看到Perference->Package control tab

CTags插件安装

为sublime安装ctags

使用Package Control功能安装ctags插件。

  • 使用快捷键 cmd+shift+p启动命令行
  • 键入 install packages。回车执行,拉取插件列表要等一小会
  • 键入ctags回车安装,稍等一会看到左下角提示安装成功就好了

但是,现在还不可以使用ctag插件,还需要下载安装ctag工具

安装ctags工具

这里我们通过brew工具,下载ctags。如果你没有安装brew,自行安装。

$sudo brew install ctags

找到ctags工具存放的目录。一般存放在“/usr/local/bin/ctags”中。

配置ctags

使用ctags,出现错误

如果,右键菜单中执行Navigate to Definition菜单项,左下角会有如下提示:

[Errno 1] /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ctags: illegal option -- R
usage: ctags [-BFadtuwvx] [-f tagsfile] file ...

这是因为我们还没有配置ctags

配置ctags

  • 打开菜单在Preferences(设置)菜单中打开Package Control(插件管理器)settings->ctags->settings-user和settings-default

  • 把default中的配置全部复制到user中,然后改一下command配置项,为ctags的可执行文件路径(一般为“/usr/local/bin/ctags”)

如下图:

学习笔记-使用Sublime Text2+Ctags+Cscope查看linux内核_第1张图片

使用ctags

在想要导入的工程的根路径下,输入以下命令

$ctags -R -f .tags

sublime text 导入工程

project->add folder to project,选择要导入的文件。

Cscope插件安装

为sublime安装Cscope

使用Package Control功能安装Cscope插件。

  • 使用快捷键 cmd+shift+p启动命令行
  • 键入 install packages。回车执行,拉取插件列表要等一小会
  • 键入Cscope回车安装,稍等一会看到左下角提示安装成功就好了

但是,现在还不可以使用Cscope插件,还需要下载安装Cscope工具

安装Cscope工具

这里我们通过brew工具,下载Cscope。

$sudo brew install Cscope

找到Cscope工具存放的目录。一般存放在“/usr/local/bin/Cscope”中。

配置Cscope

打开配置文件

使用cscope和使用ctags一样,需要在sublime中配置Cscope的配置文件。但是,和ctags不一样的是,我们现在需要在sublime应用程序中,找到Cscope的配置文件(CscopeSublime.sublime-settings)

在我的电脑中,Cscope配置文件位置为:

/Users/username/Library/Application\ Support/Sublime\ Text\ 2/Packages/Cscope/CscopeSublime.sublime-settings
  • 打开菜单在Preferences(设置)菜单中打开Browse Packages,就可以到达相应目录了。

如图:
学习笔记-使用Sublime Text2+Ctags+Cscope查看linux内核_第2张图片

设置cscope工具路径

在配置文件中,添加下面的信息

“executable”: “cscope工具位置(一般为“/usr/local/bin/cscope”)”

使用cscope

在想要导入的工程的根路径下,输入以下命令

find . -name "*.h" -o -name "*.c" -o -name "*.cc" -o -name "*.S" -o -name "*.ch" -o -name "*.cpp" > cscope.files

cscope -bkq -i cscope.files

参数解释:

  • R 表示把所有子目录里的文件也建立索引
  • b 表示cscope不启动自带的用户界面,而仅仅建立符号数据库
  • q 生成cscope.in.out和cscope.po.out文件,加快cscope的索引速度
  • k 在生成索引文件时,不搜索/usr/include目录

find命令:在这里不做解释。自行参考:http://www.cnblogs.com/peida/archive/2012/11/16/2773289.html

总结:

安装好Ctags和Cscope工具之后,可以在想要导入的工程的根路径下,通过下面命令建立Cscope索引数据库和.tags文件。

find . -name "*.h" -o -name "*.c" -o -name "*.cc" -o -name "*.S" -o -name "*.ch" -o -name "*.cpp" > cscope.files
cscope -bkq -i cscope.files
ctags -R -f .tags

现在,我们就可以使用这两个命令了。

你可能感兴趣的:(vim)