Sublime Text 2 与 TextMate 2 相比有哪些优缺点
Sublime Text 是一个代码编辑器(Sublime Text 2是收费软件,但可以无限期试用),也是HTML和散文先进的文本编辑器。Sublime Text是由程序员Jon Skinner于2008年1月份所开发出来,它最初被设计为一个具有丰富扩展功能的Vim。
Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。
2012年6月26日推出新版本的Sublime Text 2.0,与之前版本相比主要有较大的改善:支持 Retina 视网膜屏、快速跳到下一个、文本拖放、改善构建系统、CSS 自动完成和高亮设置等。
Sublime Text 2 与 TextMate 2 相比有哪些优缺点
Sublime用了2年,中间也用了一段时间TextMate。现在用ST做主力(付费用户),原因如下:
1. ST用起来体感比Textmate快
2. ST的Layout在大显示器上非常方便
3. 快速浏览文件的特性很贴心。
4. 根据Project类型来定义ST对我这种一会前端,一会后台的开发者来说很方便,也便于重用或团队复用。
结合上Grunt,除了没有真正的Intelin和Debug能力,已经很接近一个全功能的IDE了,而且速度飞快。
请教textmate2 格式化代码的方法
在格式化html时
cmd+opt+[
text->indent lection
bundles->html->reformat html
textmate mac版这款多功能纯文本编辑器如何使用?有老司机有教程吗?感谢!
TextMate大部分尝试模仿NSTextView系统组件的行为,正如应用程序(如Mail,Safari和基本上所有其他Cocoa应用程序)所使用的那样。
本部分介绍了与文本编辑相关的一些额外功能。
一、自动配对字符(引号等)
编写结构化文本(如标记或源代码)时,会有成对的字符。例如,在编程语言中,你很少输入一个左大括号({)而不需要大括号(})。
为了帮助您保持这些字符的平衡,TextMate会在输入开头字符后在插入符号后面插入适当的结束字符。如果输入结束字符,TextMate足够智能,可以覆盖自动插入的字符。如果您键入开头字符,然后使用反向删除(⌫)将其删除,则自动插入的字符也将被删除。如果您只想删除自动插入的字符,请改用forward delete(⌦)。
也可以通过选择文本并键入开始字符来将选定内容打开/关闭。例如,如果您键入foo,选择它并键入,(则TextMate将使它(foo)在插入结束括号后放置插入符号。
实际的字符对在捆绑首选项中定义,针对不同的语言和上下文使用不同的设置。例如,在源代码中,除了注释和字符串之外,撇号被设置为使自己成为关闭字符。这是通过使用范围选择器实现的。
与自动配对字符有关的两个有用的快捷方式(定义为源包中的宏并针对几种语言重写)是:
1.⌘↩
移动到行尾并插入换行符。
例如,如果你写:
print("foo
然后,您将需要")脱字符的右侧,现在可以使用⌘+来跳过这两个字符并插入一个新行。
2.⇧⌘+
移动到行尾,插入一个;,然后插入一个换行符。
二、完成
TextMate在⎋(转义)上有一个简单而有效的完成功能。它将根据当前文档中的匹配完成当前单词。如果有多个匹配项,您可以连续按⎋循环选择这些匹配项。也可以使用cycle向后循环。
这些比赛按照脱字符号的距离排序,这意味着候选人距离脱字号较近的候选人将被推荐在离候选人较远的地方。
有两种可能性来增加这种默认完成。两者都通过捆绑首选项完成。
第一个选项是提供应始终提出的候选人名单。例如,Objective-C包含一个常用的Cocoa框架方法列表。这是一系列候选人,例如:
completions = ( 'retain', 'relea', 'autorelea', 'description' );
另一个选项是设置一个自定义shell命令来收集完成。shell命令将具有可用的TM_CURRENT_WORD 环境变量(作为需要完成的单词)以及其他变量。
例如,C包有一个自定义完成命令设置,用于当插入符号位于预处理程序include指令内时,它看起来像这样:
completionCommand = 'find "$TM_DIRECTORY" \
-name "$TM_CURRENT_WORD*.h" -maxdepth 2 \
-exec baname "{}" \;|sort';
这将查找匹配项,当前目录(和直接子目录)中的任何文件,其中包含当前词作为前缀和.h扩展名。
当您提供自己的完成命令(或列表)时,您可能想要禁用默认匹配。这可以通过设置disableDefaultCompletion来完成。
三、复制并粘贴
1剪贴板历史记录
每次复制或剪切文本时,都会将文本压入堆栈。
通过按^⌘⌘V你会看到所有以前的剪报列表,并可以选择一个你想要使用箭头键粘贴。使用return来插入它并转义以关闭列表。如果您关闭了该列表,则当前选定的剪辑将是您下次使用粘贴功能时粘贴的内容。无需从列表中选择剪辑,您可以使用⇧⌘V将上一个剪辑粘贴到列表中。在那之前再次使用该键将前进到剪辑等等。要返回,您可以使用⌥⌘V。当您想从一个文档创建多个副本,然后将这些LIFO样式(后进先出)粘贴到另一个文档(或同一文档中的另一个位置)时,这些等价键就很有用。
2.重新缩进的粘贴
当粘贴文本时,TextMate将估计粘贴文本的缩进以及当前缩进级别,并调整粘贴文本以使其与当前缩进相匹配。
估算是使用重新缩进文本部分中提到的缩进规则完成的。
如果您暂时想要避免这种情况,您可以使用^⌘V粘贴文本。您也可以在首选项的文本编辑部分中永久禁用重新缩进粘贴。
四、编辑模式
1.免费编辑
您可以在编辑→模式子菜单(⌥⌘E)中启用或禁用免编辑编辑。
在这种模式下,插入符号的移动不会受到行尾或制表位的限制。
在使用ASCII图时,在给定列上插入某些内容(并且不想插入填充)以及其他几种情况时,这很有用。
当进行栏选择时,(暂时)启用freehanded模式,允许您在行末尾进行选择。
也可以通过在按住选项键(⌥)的同时单击鼠标来将插入符号放在行尾以外。
2.覆盖模式
通过在编辑→模式子菜单(⌥⌘O)中启用覆盖模式,文档中已存在的字符将在您键入而不是正常插入时被覆盖。
使用列数据时这很有用,例如:
想象一下,我们想要覆盖第一列中的一些值。有点类似,我们可能有一条固定宽度的行,并希望替换其中的一部分,但保留宽度,例如我们可以使用这样的代码,我们必须将该值与第20列对齐,但要覆盖标签:
printf("Value is %3d", 37).
五、查找和替换
除了标准查找对话框外,TextMate还有一个查找子菜单(位于编辑菜单中),它为您提供查找和替换操作的关键等价物。
1.在查找对话框中插入换行符和制表符
查找对话框使用正常的系统控制来接受输入。您可以使用替换文本字段旁边的箭头在单行和多行文本控件之间切换。如果需要在任一文本字段中插入换行符或制表符,可以在按住选项卡(⇥)或返回(↩)键的同时按住选项(⌥)。这将插入一个文字标签或换行符。2查找剪贴板
两个有用的关键等价物是⌘E和⌘G。第一个将选择复制到共享查找剪贴板。这适用于大多数应用程序,并允许您通过按⌘G查找该字符串的下一个匹配项。
查找剪贴板适用于各种应用程序,因此无论是在Safari,TextEdit,Mail,TextMate,Terminal,Console还是类似应用程序中,都可以将选定文本复制到查找剪贴板,切换应用程序并使用⌘G查找该字符串。
另外TextMate提供了⇧⌘E将选择复制到替换剪贴板。这通常对于保存查找对话框很有用,例如,如果您希望用|项目列表中的管道字符()替换换行符,选择一个换行符,请按⌘E将其用作查找字符串。现在输入a |,选择它并按⇧⌘E,以便它被复制到替换剪贴板。
然后下一步是按^⌘F在整个文档中执行替换,或者选择希望替换的范围,然后使用^⇧⌘F替代。
六、移动文本
1.增加/减少缩进级别
在文本菜单中,有一个Shift⌘和Shift Right操作绑定到⌘[和⌘]。这些将按一个选项卡的大小增加和减少缩进。
在许多欧洲的键盘布局中,这些键都比较尴尬,除此之外,还可以使用⌥⇥和⌥⇤(其中⇤使用achieved实现)。
2.向上/向下/向左/向右移动文本
如果您想要向上/向下移动一行/一行或移动一个字/列选择,可以通过按住^⌘并使用箭头键移动选择来完成。它也适用于在没有选择的情况下向上/向下移动线条。
3.重新缩进文本
如果您的代码已打破缩进,您可以选择它并使用文本→缩进选择(没有选择缩进当前行)。
估算缩进的规则是使用包首选项按语言设置的。有关更多详细信息
七、选择文字
选择文字是通过按住⇧的同时使用正常的移动键来实现的。另外,编辑→选择子菜单可以选择当前的单词,行,段落,括号和整个文档。
1.编辑多行
有时需要为可变长度的行添加后缀,或者可能需要编辑这些行的最后部分。
虽然您可以使用查找和替换,但更简单的方法是选择需要编辑的行,然后使用文本→编辑选中的每一行(⌥⌘A),并且插入符号将放在第一行的末尾在选择线。
您现在可以键入新文本,删除文本或返回并编辑现有文本,并且将通过所有(先前选定的)行进行镜像。要离开此模式,只需将插入符号从当前行移开即可。
2.列选择
可以通过按住⌥并用鼠标进行选择,或者定期选择,然后按⌥一次(在两种选择之间切换)来选择列数据。
您可以对列选择使用所有常规操作,例如移动选区,替换选区,转置(线),来自文本菜单的操作,通过shell命令过滤选区等。
八、列移动/打字
使用向上/向下箭头键⌥会将插入符号移至当前列的第一行/最后一行。按住⇧将其选中。例如,如果您的列数据如上所示,并且前面有插入符号foo,请按⌥⇧↓键,它会将插入符向前移动,fud并将文本保留在之间foo并将其fud选中。
您现在可能想要按⌥一次切换到零宽度列选择,然后开始输入以在每行上键入。或者使用→→然后→选择整个列(在列模式下)。
九、智能选项卡行为
当在一行的开头使用Tab键时,TextMate会插入尽可能多的制表符,因为它估计对于该行是正确的。如果该行已经有文本,则脱字符将移到本文的前面。
如果该行已经具有正确的缩进(或以上),则将插入单个选项卡。
十、拼写检查
TextMate支持系统范围内的“检查拼写时的拼写”。这可以在编辑→拼写子菜单中更改。
您可以调出拼写错误的单词来获取拼写建议。
由于TextMate适用于结构化文本,因此可以排除文件的部分内容。这是通过创建一个完成的首项在包编辑器,设置spellChecking到0并在填充范围选择与选择的目标为不进行拼写检查。
默认情况下,源代码除了字符串和注释以外,还禁用了拼写检查,还包括HTML,LaTeX,Markdown等中的关键字,标签和类似内容。
十一、使用空格而不是制表符
TextMate可以使用空格而不是制表符。这是通过点击状态栏中的“Tab Size”并启用软标签来完成的。
此设置只会影响当前的语言和所有具有尚未设置选项的公共根目录的语言。这同样适用于拼写检查,软包装和实际标签大小的状态。当启用软标签时,TextMate将在大多数情况下像使用硬标签一样操作,但文档确实包含空格。