1

有谁知道如何让 TextMate 搜索用于执行单词完成的外部文件(甚至是 TextMate“项目”中包含的文件)?

我正在 C64 上编写一些东西(使用 TextMate 编写代码),我有一个外部文件,其中包含所有硬件寄存器/内核例程的标签,例如

VIC2InteruptStatus = $D019

如果能够键入“VIC2I”,然后按单词完成键并让 TextMate 在外部库文件中查找匹配项,那将非常方便。而不是我现在必须通过打开库文件并将寄存器名称复制粘贴到我的代码中来做到这一点。

4

1 回答 1

1

经过一些相当大的试验和错误后,我得到了这个工作......有点。

您首先需要一个适合您的语言/文件类型的 Bundle。然后在该捆绑包中,您需要使用捆绑编辑器添加新的“首选项”。随意命名它,然后跳转到编辑窗格并添加它;

{completionCommand = 'grep -oh "\w*${TM_CURRENT_WORD}\w*" 文件规范 | 排序 | 独特的';}

其中 FILESPEC 是单个文件,其中包含您希望为单词完成提供的关键字。

关闭捆绑编辑器。

现在,如果您开始键入 FILESPEC 文件中的单词,请按 ESC(或您已将 Completion 映射到的任何键),TextMate 将提供按字母排序的单词补全。继续按 ESC 循环浏览所有匹配项(SHIFT+ESC 向后移动)。

我想不通的是如何使搜索不区分大小写。您可以在 GREP 中使用 -i 选项,但 -o 选项会覆盖它。理想情况下,如果您键入;

通讯通讯通讯

它会在外部文件中找到所有以字母 c、o、m 开头的单词。相反,如果您键入“COM”,它将只匹配以“COM”开头的单词,而不是“com”或“Com”等。

如果任何更精通 GREP 的人都能弄清楚这一点,我将不胜感激。

于 2009-10-12T20:44:24.100 回答