我已经安装了 vim-mode-plus 软件包,并在 keymap.cson 文件中添加了以下键盘映射绑定(bind)。
'atom-text-editor.vim-mode-plus.normal-mode':
'ctrl-j': 'focus-pane-or-panel:focus-below'
'ctrl-k': 'focus-pane-or-panel:focus-above'
'ctrl-h': 'focus-pane-or-panel:focus-on-left'
但是我无法在 Pane 之间切换(我在 Windows 上)
如果我使用内置键绑定(bind),我可以进行切换,如下所示:
ctrl-w ctrl-j window:focus-pane-below Vim Mode Plus atom-text-editor.vim-mode-plus:not(.insert-mode)
以上内容是从atom中的Keybindings搜索结果复制的
最佳答案
我认为您使用的命令名称不正确。如果您打开命令面板(CtrlShiftP),您可以搜索“焦点”并找到适合您需要的各种命令正在尝试做。
- 窗口:上方的焦点 Pane
- 窗口:下方的焦点 Pane
- 窗口:左侧焦点 Pane
- 窗口:焦点 Pane 位于右侧
要将它们转换为按键绑定(bind)命令名称,请应用以下公式:
- 全部小写
- 删除
:
后面的空格 - 用连字符替换剩余空格
这给出了按键绑定(bind)命令名称:
-
window:focus-pane-above
-
window:focus-pane-below
-
window:focus-pane-on-left
-
window:focus-pane-on-right
另请注意,您指向的工作示例使用的选择器与您正在使用的选择器不同。它使用 atom-text-editor.vim-mode-plus:not(.insert-mode)
而不是atom-text-editor.vim-mode-plus.normal-mode
。这可能是一个更好的选择,因此您的键绑定(bind)可以在正常模式以外的模式下工作(例如视觉选择模式)。
我认为你需要的是:
'atom-text-editor.vim-mode-plus:not(.insert-mode)':
'ctrl-j': 'window:focus-pane-below'
'ctrl-k': 'window:focus-pane-above'
'ctrl-h': 'window:focus-pane-on-left'
我不确定您是否也希望 CtrlL 工作,例如
'ctrl-l': 'window:focus-pane-on-right'
关于atom-editor - 用于在 Pane 之间切换的 vim-mode-plus 键映射不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45230152/