【问题标题】:JavaScript/Sublime Text: swap single and double quote keysJavaScript/Sublime Text:交换单引号和双引号键
【发布时间】:2015-04-16 08:38:31
【问题描述】:

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

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

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

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

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

【问题讨论】:

  • 我帮不了你 :) 我也不推荐它,因为使用单引号你不需要转义 html 值。但这是你个人的选择,不像 PHP,ECMAScript 没有任何区别。

标签: javascript sublimetext sublimetext3


【解决方案1】:

可以在没有任何第三方工具的情况下重新映射 Windows 注册表中的键,但更简单、更安全的方法是使用类似 AutoHotKey 的方法。我用它来将 Enter 上方的“\”键重新映射到 Enter,因为我从来没有接受过键盘设计师拿走大 L 形 Enter 键!

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

'::"

"::'

这将交换两个输入。

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

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

    "::'
}

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

【讨论】:

  • 可以为特定的应用程序执行此操作吗?而不是整个系统?
  • 感谢伊万的想法。在接受您的回答之前,我将等待一段时间的崇高文本解决方案。
  • 没问题,我知道您希望避免使用 3rd 方工具,如果这就是您想要的。如果您以前没有尝试过使用 AutoHotKey,但我认为您会发现它非常容易上瘾,不仅是为了这个,而是为了各种应用程序! (它非常适合需要组合键来执行某些操作的游戏!)
  • 以下代码对我不起作用:'::" "::' 我必须使用以下代码:+"::\n Send, '\n return\n '::"这个顺序很重要。
【解决方案2】:

1) 从“Preferences”转到“Key Bindings - User”

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

{ "keys": ["\""], "command": "insert_snippet", "args": {"contents": "'$0'"} },
{ "keys": ["'"], "command": "insert_snippet", "args": {"contents": "\"$0\""} }

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-07
    • 1970-01-01
    • 1970-01-01
    • 2015-06-03
    • 2021-08-12
    相关资源
    最近更新 更多