JavaScript/Sublime 文本:交换单引号和双引号键

JavaScript/Sublime Text: swap single and double quote keys

我是一名使用 Sublime Text 的 JavaScript 程序员。我更喜欢使用双引号而不是单引号。有没有办法或插件可以交换单引号和双引号的按键?

请注意,我知道插件(如 SublimeChangeQuotes )可以对文件或文本选择执行此操作。但这不是我要找的。

我正在寻找的是:单引号按键应该产生双引号,双引号按键(使用 shift 键)应该产生单引号。所有这些都是在我输入 JavaScript 代码时完成的。

JavaScript jshint、jscs 等代码质量工具要求字符串用双引号引起来。这就是为什么在 JavaScript 编码中经常使用双引号。

为什么我需要这个?很简单,只是为了避免每次需要双引号时都按shift键。

无需任何第三方工具即可重新映射 Windows 注册表中的键,但更简单、更安全的方法是使用 AutoHotKey 之类的工具。我用它来将 Enter 上方的 '\' 键重新映射到 Enter,因为我从来没有克服过键盘设计师拿走大 L 形 Enter 键的问题!

要使用它,请安装并 运行 AutoHotKey。它会给你一个默认脚本,你可以通过添加以下行来编辑它:

'::"

"::'

这将交换两个输入。

如果您希望映射只影响单个程序,您可以将脚本放在 "if" 块中,如下所示,使用 window 名称或其他一些标识符:

IfWinActive("Sublime Text")
{
    '::"

    "::'
}

我的语法可能并不完美,我是凭记忆操作的 - here is a link to the IfWinActive docs 如果您需要更多帮助。

1) 从 "Preferences"

转到 "Key Bindings - User"

2) 添加以下两行,基本上就是做这个交换。

{ "keys": ["\""], "command": "insert_snippet", "args": {"contents": "'[=10=]'"} },
{ "keys": ["'"], "command": "insert_snippet", "args": {"contents": "\"[=10=]\""} }

这些行应该放在键绑定文件中看到的数组中。