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