1

因此,在 JavaScript 中,我会编写如下内容:

foo (function () {});

注意分号。在 Vim 中,如何在我键入(. 它的行为类似于:

foo(或者foo (然后 Vim 自动完成)并创建foo (). 我也自动希望它在末尾放置一个分号,foo ();并将光标放在它通常位于foo(|).

如果前面的单词是,我不希望它添加 tho:while|if|else|else if|for|switch|function因为您不会在这些单词的末尾添加分号。基本上,保留字列表。

4

2 回答 2

1

从您的问题中不清楚您是否已经在使用自动关闭)插件之一,该插件会在您键入后自动插入匹配(项,但您添加的用例;只是该算法的一个小扩展。

这个 Vim Tips Wiki 页面概述了自动关闭是如何实现的,它有一个实现这个的插件列表。我会检查这些;也许其中一个已经提供了您的扩展,或者至少您可以尝试扩展其中一个以满足您的需求。

就个人而言,我不喜欢该领域过多的自动化。即使有巧妙的规则,自动插入也不能 100% 正确,而且我发现这些情况造成的分心比不必键入简单字符(如;.

于 2012-12-13T07:27:16.730 回答
0

您可以使用包含排除单词的正则表达式执行搜索/替换命令。因此,仅当行/模式没有任何不需要的单词时才会执行搜索。我不知道如何构建这个正则表达式,但也许这个链接会帮助你: Regular Expression to exclude set of Keywords

于 2012-12-14T23:28:15.317 回答