下载了源码包,需要浏览。window 系统一般用 SourceInsight,但是我用的是 linux mint 系统。折腾了一段时间 wine,效果不好。后来有人说可以用 sublime。我试了一下,效果不错。
1. sublime 打开文件夹
源码包一般文件很多,最好打开文件夹浏览。使用菜单 File -> Open Folder 打开文件夹。也可以用命令行的方式。如下:
sublime-text folder
我自己的 sublime 是从官网下载,然后放在 /opt 目录下的,所以不能直接使用命令。后来使用 alias 命令使 sublime 生效。这倒是比使用链接方便多了。alias 要想持久化,必须放在 .bashrc 或者类似文件中,以便开机启动。有人建议 alias 相关命令放在专门的 .bash_aliases 文件中。我就是这么做的。编辑保存文件后,下次开机就会自动加载。要想立即生效,需执行:
source .bash_aliases
2. sublime 使用 ctags
sublime 不能像功能强大的 IDE 实现跳转功能。可以安装 ctags 插件实现类似功能。这十分必要。否则要手动在数量繁多的文件中搜索定义会极其麻烦。网上介绍安装 ctags 的方法大都推荐首先安装 Package Control 这个插件,使得安装插件更便捷。我原本还想试试直接安装,于是到 github 搜索 ctags,结果在 github.com/SublimeText/Ctags 页面看到 sublime 官方推荐使用 package control 安装 ctags。安装 package control。我找到了它的官网:https://packagecontrol.io。右侧有个 Installation,点开后就是安装提示。这里不做过多介绍。需要注意的是 sublime 的版本,版本 2 与版本 3 安装使用的包或者命令不同。如何查看 sublime 版本?可以点击菜单 Help -> About Sublime Text,最下面一行有个 Stable Channel, Build xxxx 字样。xxxx 是数字,我的是 Build 3083,第一个数字 3 说明是版本 3。我在安装 sublime 的时候按提示重启了两次,因为说要安装某个依赖,我没有细看。
安装好 package control 之后再安装插件果然方便很多。用快捷键 Ctrl + Shift + P 呼出 Pacage Control 面板,可以看到相当多选项,都可以点击,从而执行某项操作。输入 install,它会筛选所有选项,列出包含 install 的项。我们找到 Package Control: Install Package,点击。第一次执行会下载数据。下载完成之后,会列出所有可安装插件。依然输入 ctags,它会筛选插件列表,找到正确的点击即可自动下载安装。安装之后不必重启即可使用。
使用快捷键:Ctrl + t, Ctrl + r(注意,是连续按两个键,不是一次按)可以建立标签文件,以便以后浏览。结果提示说:“/bin/sh: 1: ctags: not found”。显然是没有找到 ctags 命令。看来 sublime 的插件只是调用 ctags 命令,不是自己实现。看来还要安装 ctags。不过这十分容易,用 apt 安装即可。
安装完成后也不必重启,重新按快捷键,可以看到左侧的文件列表立刻多了两个文件,分别是 .tags 和 .tags_sorted_by_files。这是两个隐藏文件。之后就是 ctags 的使用了。可以用菜单,也可以用快捷键。本来还想记下快捷键以便参考,后来发现菜单项旁边都写着快捷键,实在没有记录的必要。
3. 只读方式打开
浏览代码不同于编辑,你显然不想修改。但是有时候保不齐手抖。如果能以只读方式打开就好了。到网上搜了一通没有结果。有人说可以启用 sublime 的 vim 模式。我没细看,心想既然源码又不修改,不如整个设置为只读。后来一想,不对啊,ctags 生成的两个文件还得读写呢。于是回去研究 vim 模式。看到有人说了,其实是 vi 模式(是的,可以查看官方文档:http://feliving.github.io/Sublime-Text-3-Documentation/vintage.html。为什么要强调?因为 vi 和 vim 还是有很多不一样的)。还有人说 sublime 3 不支持(其实是支持的)。要如何启用?有人说删除默认配置文件的 ignore_packages 的 Vintage,有点说在用户配置文件里加一个 ignore_packages 项,它的值为空。后来看到一条评论眼前一亮:用 Package Control 的 Enable Package 和 Disable Package 功能。我立马尝试,果然好用。这里用的是启用插件的功能,所以输入 enable 筛选,点击选项,可以看到所有被禁用了的插件。点击 Vintage,重新启用它。此时进入的是编辑模式,按 Esc 键进入命令模式。在用户配置文件中加入这么一行:"vintage_start_in_command_mode": true,即可启动就进入命令模式。
当然,这其实这也不保险,vi 命令模式下有相当多修改代码的命令。