TextMate是Mac平台上的一款专为程序员打造的文本编辑器软件,它在Mac上早已享有盛名,与BBedit一起并称为苹果机上的emacs和vim。TextMate的Bundles是TextMate的一个亮点,它可以有效的提高开发速度,并且还能定制许多贴心使用的功能。
软件优点:
1、首创Snippets代码自动生成功能。相信很多人用TextMate是为了这个功能,它真的非常好用。当时几乎所有的IDE都是让你填写一大堆对话画框,然后自动生成一个文件或者代码,繁琐而灵活性不佳。而在TextMate仅仅靠一系列Snippets,就可以将预设好的缩写词扩展成类、函数和分支循环结构,并且可以靠tab逐次的修改自定义的部位;
2、首创Plugin bundle的分发和管理机制,并且形成了一定规模的社区。TextMate的插件安装非常简单,而且随装随用,随时删除。当时很多软件的插件都要自己拷贝so文件到制定目录,vim需要在.vim/目录下去解压插件包或者手工复制vim。
3、定义了lexical scope,使得所有Snippets,命令和宏的域都不是针对整个文件/项目的。这个设计使得不同类型的文件、甚至文件中不同的位置都可以共享相同的快捷键,行为却是完全不同的。这一设计使得需要记住的快捷键命令大大减少,但是威力确依然不减;
4、自动化编辑器里Discoverbility做得最好的。TextMate常常被用来和Vim、eMacs相比,具备不输后两者键盘操作,相差不远的可扩展性。但是她的学习曲线却惊人的平滑。这得意于她所有的快捷键都可以找到对应的菜单操作。新手翻几次菜单后,就可以记住常规的快捷键,而因为第3点的缘故,用户可以用这些快捷键在不同
文件类型中去尝试,可以获得不太超出预料的结果;
5、善用脚本。可能因为TextMate的作者之前是eMacs用户,因此对于调用脚本的支持完善得很好,事实上,大部分TextMate命令都会调用外部脚本来实现某些功能。而且脚本可以是python、ruby、shell、perl等任何unix下能运行的脚本。此外TextMate还不强迫用户学会这些脚本语言,你可以作为bundle用户,可以写脚本开bundle。
软件缺点:
当然,TextMate也有很多不足,加上作者在酝酿TM2,而不是快速迭代这一版本,导致演化过慢,很多功能都被其他编辑器模仿过去了。我觉得TM有以下几点不足或者不再有优势的地方:
1、宽字符支持度很低,永远的痛!
2、Snippets已经被Vim、eMacs、NotePad++等一大堆编辑器所吸收;
3、bundle连vim都可以通过pathogen模仿;
4、补全功能太弱;
5、临时性的管道输入输出,需要经过一个对话框,远不如vim方便;
6、tab标签式多文件,文件一多导航不佳,不支持屏幕分割;尤其是文件切换避免不了鼠标操作,无法和Vim/eMacs的纯键盘操作媲美;
7、文本查找对话框,现在连浏览器都不用了,也不如vim下的/方便。查找到的多个结果依赖鼠标访问,不像vim有quickfix和快捷键;
8、远程编辑文件太弱了。
快捷键
trl+e 一行的行首/行尾切换
option+ <- -="">光标往左 右移动一个单词
ctrl+k 剪切掉光标后的内容
ctrl+y 在光标后面复制内容
ctrl+w 选择一个单词
shift+command+L 选择一行
ctrl+G 单个字符大小写转换
ctrl+u 整个单词大写
shift+ctrl+u 整个单词小写
ctrl+T 光标左右两个字符位置调换
ctrl+option+u 整行所有的单词首字符大写
shift+ctrl+u 整行单词小写
ctrl+command+<- -=""> 所选中的左移 右移 可结合ctrl+w来使用
当用shift+光标来选中了一个区域后,按option来选择两光标垂直区域,也叫column select
command+[ ] 左移 右移所选中的内容
忽略文件或目录
在textmate的references<command+,>->Advanced-Folder References中的File Pattern,在某个竖线‘|’后面加上\\.lock|,这个可以忽略文件Gemfile.lock,\\.ru|。
更新日志:
Textmate 2
Textmate 2已经与2011年12月24发布,目前最新的版本为Version 2.0 (9064)
主要改进:分割视图:是的,我真的有这个alpha的里程碑,我不是过于兴奋,这个特性我自己,但我知道这是一个非常常见的请求,所以最终它应该能在应用程序。
全屏幕模式:这主要是因为我们正在犹豫去狮子只所以我们正在阻碍与“上”TextMate软件直到我们自信我们可以完全向后兼容。
性能:整体性能好,但仍然有边界情况,我们还没有考虑,例如排长队的问题也存在于1。x或打开文件,排气TextMate软件的内存空间。
包编辑器:当一个概念验证包编辑器包括在内,它是临时的,有一些缺陷,而不是我们如何设想最终包编辑器是。
设置:并不是所有Preferences窗口有一个效应目前和几个菜单设置不粘,有些甚至恢复当切换选项卡。那些可以设置通过。tm属性——更多关于这个在即将发布的。
宣布开源
采用 GPL 授权协议,目前代码已经悉数提交到 Github 上,提供详细的构建方法说明。