有人原来因为要用 TextMate 才买的苹果电脑,怎么现在一下就没有人用了,就算 Sublime Text 好得不得了,也不至于一下就把 TextMate 的用户全骗走了吧。
我想说的是,以前是不是把 TextMate 吹得太好了?
楼主问个问题,楼下为啥要往圣战上歪?你们都是何居心那? TextMate very good, Sublime Text very good on Windows Vim 不屑参与这种比较
snippet 只是 textmate 里 tab 触发的命令之一,触发条件包括 scope 判断,leading 是否符合,编辑器是否在可以触发 snippet 的状态等等... 所有符合条件的命令和 snippet 如果超过 1 个,就会用菜单的方式弹出来
https://github.com/textmate/textmate/blob/master/Frameworks/OakTextView/src/OakTextView.mm#L2594
编辑器有个 C++ 的后端,然后主要动作都会从 OakTextView 调到 editor 的实现,然后 editor 会调用 snippet_controller:
https://github.com/textmate/textmate/blob/master/Frameworks/editor/src/snippets.h
snippet_controller 会使用 snippet 栈的实现 (这个栈是处理嵌套触发的,一些山寨 snippet 实现或者不能嵌套触发,或者嵌套触发后回不到上一个 snippet 的状态中), snippet 还有做正则代换处理缩进等等,实现就在:
https://github.com/textmate/textmate/blob/master/Frameworks/regexp/src/snippet.cc
#11 楼 @autumnwolf 哈哈哈哈 我是略用习惯 vim 了,现在也偶尔用下 atom sublime 没买,textmate 热捧的时候我还没 macbook