TextMate中的自动自动补全功能

12

我最近从Coda换到了TextMate,因为被该应用的长时间延迟和普遍缓慢所烦恼。虽然TM有一些令人不爽的地方,但这主要是因为我习惯了另一种编辑器。然而,有一个方面正在折磨我,那就是自动自动完成的缺失。

例如,在Coda中的CSS文档中,我可以开始输入“fo”,然后Coda会弹出字体样式(font-style)、字重(font-weight)等列表。选择其中之一将显示可用属性,如粗体(bold)、轻体(light)等,同样可供选择。在TextMate中,我已经开始使用Bundle自动完成快捷键,但它们相当无用,因为对于较短的片段,您必须输入几乎全部内容才能触发。

是否有任何方法使TextMate复制Coda自动建议的行为?如果没有,是否有其他编辑器能够做到(比如BBEdit)?谢谢。

4个回答

6
按下Esc键会自动完成。至少现在是这样。 也许它不像人们想象的那样无缝,但它确实起作用。
TextMate在⎋(escape)上具有简单而有效的完成功能。 它将基于当前文档中匹配的内容来完成当前单词。 如果有多个匹配项,您可以通过连续按⎋来循环浏览这些匹配项。 还可以使用 ⇧⎋ 向后循环。 来源

5

首先安装TextMate插件“GetBundles”

我相信这两个终端命令可以完成:

cd ~/Library/Application\ Support/TextMate/Bundles
svn co http://svn.textmate.org/trunk/Review/Bundles/GetBundles.tmbundle/

然后在TextMate中,按下Ctrl+Cmd+T(这应该是一个非常熟悉的快捷方式),以打开当前作用域内有效的bundle窗口。当您选中正确的bundle时,键入“get bundles”或“getbundles”,然后按Enter。这将打开一个窗口,搜索一堆存储库中的bundles。右上角有一个搜索框,请输入“CSS”。有5-6个可用的CSS bundles,可以尝试并查看哪一个适合您的需求。
TextMate的核心中没有那种代码解析功能,但我知道至少有一个bundle(即PHP bundle,现已包含在TM中)可以实现。

2

Textmate还拥有标签触发器,非常有用,而且是最接近于自动完成的TextMate功能。

例如,如果你输入“head”,然后按Tab键,这将自动显示出来:

<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<title>Page Title</title>

如果您已经按照Brandon和matkins告诉您的做了一切,并搜索了“HTML+”包(也可以在GitHub上找到),这将允许几乎覆盖所有可能的HTML元素和属性的Tab触发器。

然后,例如,您可以输入“p”,然后按Tab键,这将自动显示:

<p></p>

将光标放置在两个标签之间。

你也许能够找到类似的CSS和其他东西的捆绑包 - 我还没有去看过。

再次强调,这是Textmate可以达到的最接近标记自动完成的程度,就我所知。


2
糟糕的是,你必须知道这些命令在你所处的上下文中是可用的。这违背了自动完成的目的。 - Julian Leviston

2
你可以尝试使用 Espresso (http://macrabbit.com/espresso/):它的自动补全功能类似。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接