使用TAB跳转到原子编辑器中的末端括号/括号/引号

时间:2015-05-16 10:37:37

标签: tabs parentheses atom-editor

在原子编辑器中,当我输入console.log(时,它变为console.log()并且光标停留在两个括号之间。所以我必须使用 End 按钮或右箭头键跳出那里。 有没有办法使用 Tab (跳出结束括号/括号/引号)?

2 个答案:

答案 0 :(得分:16)

如果您只是继续输入,那么关闭将被Atom的括号匹配器“吞噬”,因此您无需按结束

然而,在某些情况下,Atom的支架匹配器不能吞下按键,你不能只是继续打字。例如,当您输入以下代码时,在按; 之后,您可能需要将光标移过结束大括号(Atom自动插入):

if (someCondition) {
    doSomething();
}

在这种情况下,您可以使用自定义命令和自定义键盘映射向前跳转光标。这是怎么......

转到文件菜单并选择“打开您的初始化脚本”,然后将以下代码粘贴到文件中。这定义了一个命令,可以向前移动光标,跳过单个括号,括号或引号。

SymbolRegex = /\s*[(){}<>[\]/'"]/
atom.commands.add 'atom-text-editor', 'custom:jump-over-symbol': (event) ->
  editor = atom.workspace.getActiveTextEditor()
  cursorMoved = false
  for cursor in editor.getCursors()
    range = cursor.getCurrentWordBufferRange(wordRegex: SymbolRegex)
    unless range.isEmpty()
      cursor.setBufferPosition(range.end)
      cursorMoved = true
  event.abortKeyBinding() unless cursorMoved

您必须关闭并重新打开Atom才能重新加载init脚本。

接下来,转到文件菜单,选择“打开您的键盘映射”,然后输入新命令的键绑定。您可以使用 TAB 键,但这会与Atom的片段默认键映射冲突,因此我在这里使用了 Alt + :< / p>

'atom-text-editor:not([mini])':
  'alt-)': 'custom:jump-over-symbol'

另一种选择是禁用Atom自动插入关闭括号。我想你可以通过转到设置→包→支架匹配器→设置,并清除选项'自动完成括号'来实现。

答案 1 :(得分:8)

我也想在Atom中这样做,所以我继续为它做了一个包。 https://atom.io/packages/tab-through

在crumbletown的解决方案上增加的价值是,您可以通过包设置更改键绑定(我个人更喜欢选项卡,因此包名称)和您想要的字符,而不必对init脚本进行编辑。