(转)sublimeText 使用技巧及配置Lua开发环境

插件 兼容中文 cTags 函数跳转 编译 lua )

在朋友的介绍下使用上了subLime Text 编辑器,发现有很多很好的特性适合在项目中开发lua程序,例如在编辑器中支持项目形式的文件夹管理,非常方便的夸文件跳转,符号查找,跳转到函数定义,往回跳转,编译脚本等等。一个配置好的sublime Text 环境能满足VS以及VAX的很多编辑代码常用功能。subLime Text被 称为专为程序员而生的编辑器的确十分给力。

可以前往 subLime Text 官网 下载subLime编辑器以及查看它的基本编辑功能

sublimetext

下面来详细介绍各功能及lua环境的一些配置方式。

【跨文件跳转】
ctrl + P
可通过fileA@functionB直接定位到fileA下的functionB函数

【符号搜索】
ctrl + R
在subLimeText默认功能中,没有函数列表,貌似现有的插件也没有实现这个功能。但其实使用符号搜索可以基本代替函数列表,在ctrl + R 调出搜索框以后会附带符号列表,列表中就是当前文件定义的各个函数

【一切可修改】
在subLmieText中的设置项,包括快捷键等等都可以通过修改配置表自行设置,主要有Preferences 下的Setting表跟KeyBinding表,还有插件的配置表Package Control Setting。

【命令搜索】
subLime中的各种设置命令,除了可以在上方Menu中通过鼠标点选设置以外,还能通过ctrl + shift + P调出命令搜索框,搜索想要的命令并且调用。例如像修改快捷键表,除了可以通过鼠标点击Preferences -> KeyBindings – Default以外,还可以通过命令搜索框输入key binding,搜索并直接调用该命令,无需需记住各个选项在Menu的位置,也无需鼠标操作,特别适合一些双手时刻不愿离开键盘的键盘党程序员。

【文件夹列表】
在subLimeText中可以把一个文件夹导入到编辑器中,并且以Project的形式去管理这些文件夹。但是在默认的情况下会把文件夹下无论是否文档的文件都扫描进来。不过利用【一切可修改】的特性,我们可以在Preferences下的Setting—Default表下找到”folder_exclude_patterns”、”file_exclude_patterns”、”binary_file_patterns” 这几个值修改从而剔除一些我们不需要在编辑器中关注的文件。这里有一点问题是,导入了文件夹以后,通过右键某个子文件夹Delete Folder删除子文件夹,经常失败。

【字符线】
在大部分脚本编码规范中,我们都会遇到一种情况是尽量避免单行超过80或120个字符这样的情况。在subLime中可以通过View -> Ruler来设置。不过这样设置只是针对当前文本的,如果希望打开每一个文件都有这条字符线,可以通过修改Preferences下的Setting—Default表的”rulers”值,来指定一个总是显示的字符线。

【编译】
想在subLime中集成编译Lua(或其他语言)功能,只需要在Tool->Build System -> New Build System中添加代码

{
    "cmd": ["c:/Users/Administrator/AppData/Roaming/Sublime Text 2/compile.exe", "$file"],
    "file_regex": "^(?:lua:)?[\t ](...*?):([0-9]*):?([0-9]*)",
    "selector": "source.lua"
}

然后在sublime Text文件夹路径下/Packages/ 中新建Lua文件夹,保存为Lua.sublime-build文件即可。
这里”c:/Users/Administrator/AppData/Roaming/Sublime Text 2/compile.exe” 是lua编译器的路径,如果系统的环境变量已经配了lua键值,则可直接写”cmd”: ["lua", "$file"]
可以通过Preferences->Browse Packages打开sublime Text文件夹
在一切设置好以后,通过ctrl + B 快捷键编译文件。

【强大的插件】
subLime开放API,有许多功能强大的插件,在安装插件前首先要安装一个插件管理器。通过ctrl + `调出控制台,然后在下方输入框输入以下代码:

import urllib2,os;pf='Package Control.sublime-package';ipp=sublime.installed_packages_path();os.makedirs(ipp) if not os.path.exists(ipp) else None;open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read())

运行结束后就重启subLime就可以在Preferences下找到Package Control
通过Package Control 的Install 和 Remove命令可以调出可安装插件列表和已安装插件列表,搜索想要的插件进行安装(卸载)。

这里推荐几个在项目中开发lua脚本十分有用的插件。

1)FunctionName Display
这个插件安装后可以在信息栏中显示当前光标所在行是属于哪个函数的。

2)ConverToUTF8
subLimeText原生不支持中文,解析ansi编码的时候是按照western window 1252字符表解析的,中文部分会乱码。安装了这个插件以后,用ctrl + shift + C 设定GB2312编码格式,然后在读写文档的时候就会按照gb2312来读和保存了。(不过提示还是写保存成utf-8)

3)TortoiseSVN
安装了这个插件以后可以直接右键Folder来Commit或者Update代码,十分方便。但有一个问题就是,在TortoiseSVN面板还没关闭前,subLimeText是阻塞的,无法响应任何操作,这个有点囧。

4)cTags
cTags是一个用于从程序源代码树产生索引文件(或tag文件),从而便于文本编辑器来实现快速定位的实用工具。安装了这个插件以后,通过快捷键ctrl + t,ctrl + r来生成索引文件,在索引文件生成后,可以通过快捷键ctrl + 鼠标左键来跳到函数定义的地方,通过ctrl + 鼠标右键跳回上一次编辑的地方。这个功能在阅读代码时十分有用。(cTags快捷键及详情

subLime Text以及其丰富的插件能够让开发lua代码也像使用VS(+VAX)开发C++代码一样方便。强力推荐!

posted on 2014-09-14 15:50  blackCatx  阅读(840)  评论(0编辑  收藏  举报

导航