atom-editor - 用于在 Pane 之间切换的 vim-mode-plus 键映射不起作用

标签 atom-editor

我已经安装了 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)命令名称,请应用以下公式:

  1. 全部小写
  2. 删除:后面的空格
  3. 用连字符替换剩余空格

这给出了按键绑定(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/

相关文章:

git - 在 Atom 中为 Linter 包安装包模块

linux - 在 FileZilla 中以 root 身份运行 Atom 编辑器以查看/编辑文件

console - 在 Atom 编辑器控制台窗口中获取命令历史记录的命令是什么?

windows-10 - Windows 10 上 Atom 安装错误

atom-editor - 原子: how to diff two files using split-diff

Atom.io 中的 Markdown 语法损坏

markdown - 如何修改 ATOM 编辑器的 Markdown 语法?

view - Atom 编辑器 - 如何修复 : Only one tab open at a time

javascript - atom 如何将 .js 文件的默认语法高亮更改为 language-babel

html - 原子上的 Emmet 无法正常工作