我开始定制Atom编辑器,并且试图更改树视图的键映射:切换。
我把它放在我的用户keycap.cson文件中:
'.editor':
'ctrl-t': 'Tree View:Toggle'
但它没有用。
查看首选项 - >键绑定我看到它列为我期待:
ctrl-t Tree View:Toggle User .editor
我做错了什么?
更新
更改为:
'.editor':
'ctrl-t': 'tree-view:toggle'
没有解决问题。
Key Binding Resolver显示该命令已被识别,但它没有切换树视图。见这个截图:
http://cl.ly/image/3A2X1p350v2Q
对此有何其他想法?
答案 0 :(得分:6)
我遇到了同样的问题!这是一个痛苦的屁股,因为我需要使用自己的快捷方式,但原子的键绑定不同于我的拉丁语 - qwerty键盘,所以在玩原子和寻找一些好的信息,我出来了这个溶液:
问题:
当我输入我的窗口 Ctrl-Alt - \ Atom的键绑定是 Ctrl-Alt - ]
或者,如果我想' @' ,我需要输入 Ctrl-Alt-q ,但Atom的键绑定会执行此操作' autoflow:reflow-selection' 。
解决方案:
1._转到设置 - >键绑定。一旦你在那里,在搜索栏中找到你想要改变的键绑定。例如,如果我想更改 Ctrl-Alt-q ,那么我输入: Q ,然后使用此字母过滤所有键绑定。
2.2。要修改它,请点击要修改的键绑定旁边的复制并粘贴小图标,它位于按键列。 (它将复制您需要的代码行,以便您可以对其进行修改)
3._复制键绑定后,转到文件 - >打开键盘,然后打开带有keymap.cson文件的选项卡。将光标放在末尾,然后粘贴在步骤#2中复制的行。它应该显示如下:
'.platform-win32 .editor, .platform-linux .editor':
'ctrl-alt-q': 'autoflow:reflow-selection'
4._现在你可以改变原子的行为。我将删除' autoflow:reflow-selection' 并编写' unset!' 以便显示arroba
'.platform-win32 .editor, .platform-linux .editor':
'ctrl-alt-q': 'unset!'
现在当我在原子编辑器中输入 Ctrl-Alt-q 时,它最终显示了arroba!如果你想让它做其他事情,而不是写'取消设置!' 你只需要放置你想做的任何事情。
注意:如果您想知道atom的键绑定以便更改其中一些,请使用键绑定解析器,转到 Packages-> Keybinding Resolver-> Toggle 。
在这里,我发布了我在keymap.cson中所做的更改,以便使用我的原子编辑器和我的latin-qwerty键盘。
'atom-workspace atom-text-editor:not([mini])':
"ctrl-alt-[": "unset!",
"ctrl-alt-]": "unset!",
'ctrl-/': 'unset!'
'ctrl-7': 'editor:toggle-line-comments'
'ctrl-alt-8': 'tree-view:recursive-collapse-directory'
'ctrl-alt-8': 'editor:fold-current-row'
'ctrl-alt-9': 'editor:unfold-current-row'
'.platform-win32 .editor, .platform-linux .editor':
'ctrl-alt-q': 'unset!'
'.platform-win32 .find-and-replace, .platform-linux .find-and-replace':
'ctrl-alt-/': 'unset!'
'ctrl-alt-7': 'find-and-replace:toggle-regex-option'
'.platform-win32 .project-find, .platform-linux .project-find':
'ctrl-alt-/': 'unset!'
'ctrl-alt-7': 'project-find:toggle-regex-option'
干杯!
答案 1 :(得分:4)
这很容易修复。您还没有正确格式化命令的名称。它应如下所示:
'.editor':
'ctrl-t': 'tree-view:toggle'
将来,如果事情没有按预期工作,请尝试查看您知道正在运行的现有开源软件包,看看是否可以找到不匹配的内容。例如,您可以转到tree-view's keymap file,tree-view.cson
,看看他们是如何格式化的。
进一步改进
您可能会注意到,因为您定义的键绑定与编辑器相关联,如果您将树视图置于焦点,您的键绑定将不会成为触发。再看一下上面的文件,你会看到一种改进方法。将键绑定绑定到平台.platform-darwin
(或适合您的任何一个),以便无论编辑器的哪个元素处于焦点位置都会触发它。
'.platform-darwin':
'ctrl-t': 'tree-view:toggle'
这当然会引发另一个问题。现在,当编辑器处于焦点时,editor:transpose
的现有键绑定将优先,因为它具有更具体的CSS类(即.editor
)。因此,当编辑器处于焦点时,树视图将不会立即切换。解决此问题的最简单方法是为编辑器添加键绑定:
'.platform-darwin':
'ctrl-t': 'tree-view:toggle'
'.editor':
'ctrl-t': 'tree-view:toggle'
现在,无论编辑器或树视图是否处于焦点位置都不重要,但仍会触发切换。
最后的想法
搞乱键绑定时的另一个建议是使用键绑定解析器。您可以使用cmd-.
打开此内容。如果您这样做并尝试按ctrl-t
,您会注意到已添加的键绑定显示(以绿色突出显示)。您还会注意到您的键绑定正在禁止另一个键绑定editor:transpose
。考虑使用不同的键绑定。
Atom的美妙之处在于其可自定义性,只需确保您了解自定义的权衡。
答案 2 :(得分:2)
好吧,我和ATOM有同样的问题,我几乎放弃了! 我在Windows 8 PC上有ATOM workink。
我遇到了问题@并且我使用此行修复了
使用包> KeyBinding解析器实用程序我得到:
ctrl-alt-q是我的@
的关键序列使用KeyBinding实用程序,我得到: ctrl-alt-q执行autoflow:reflow-selection命令
' .platform-win32 atom-text-editor,.platform-linux atom-text-editor': ' ctrl-alt-q':'取消设置!', ' ctrl-alt-7':' autoflow:reflow-selection'
首先我取消了我的键绑定,然后我为我要覆盖的命令发明了一个新的。
希望它适用于你