【问题标题】:Intellij IdeaVim change keysIntellij IdeaVim 更改键
【发布时间】:2012-04-26 07:27:42
【问题描述】:

我真的很想能够使用 IdeaVIM,但我不知道在哪里可以设置我的自定义 vim 键映射。例如,而不是使用 Esc 我想使用 Ctrl-C 而不是使用 h jkl我喜欢用wasd.

我已经在.vimrc 中设置了所有这些,但 IdeaVIM 无法加载它们。我可以手动将它们复制到所需的任何文件中,但没有关于如何执行此操作的文档。

【问题讨论】:

  • IdeaVim FAQ 似乎解决了这个问题。
  • 您好,我在发布之前查看了该链接,还查看了 Vim.xml,但无法弄清楚如何更改键映射。我需要更改移动键,所以我在 Vim.xml 文件中搜索 j 并找不到任何东西。你能给我一个简单的键映射的例子吗?谢谢
  • 请为功能请求投票VIM-288:支持来自.vimrc的键映射命令。
  • 我是 IdeaVim 的新手,但可能是 IDE 正在处理击键,而不是 IdeaVim?如果您想更改操作方式,可以在 PC 上的 File | Settings | Editor | Vim Emulation 或 Mac 上的 Settings | Editor | Vim Emulation 中管理“Vim Emulation”设置

标签: intellij-idea vim ideavim


【解决方案1】:

从 IdeaVim 0.35(2014-05-15 发布)开始,支持 ~/.ideavimrc 中的键映射。如果您想包含来自~/.vimrc 的映射,您可以将source ~/.vimrc 放入该文件中。

Release announcement

VIM-288

(注意:这个问题可能被认为是这个other StackOverflow 问题的重复。)

【讨论】:

  • 如果你没有文件 ~/.ideavimrc 那么你可以简单地创建它。只需写source ~/.vimrc 或源代码,无论您的 .vimrc 文件在哪里。重启pycharm。
  • 在 Windows 上,.ideavimrc 应该位于 C:\Users\%USERNAME%\
【解决方案2】:

这是我自己完成的,在 IntelliJ 11 中非常简单。我知道在以前的版本(可能是 9 版?)中设置键映射值有很大不同。

在 IntelliJ 11 中,您可以执行以下操作:

  1. 转到Settings
  2. 从左侧菜单中选择Keymap
  3. 在右侧搜索 Exit Insert Mode 并关联您要使用的任何键,例如 CTRL-C

【讨论】:

  • 不错!我看到的一件奇怪的事情是所有的键都在一条线上。它说的是钥匙,然后是一根长串……你的看起来像那样吗?
  • @gdoubleod:我的也是这样。我真的希望我可以在idevim中使用'jk'作为我的esc。如果我尝试将其设为两冲程手势,它只会在正常模式下破坏 j。
  • @danneu:JetBrains 的错误跟踪器上目前有一个issue,正好解决了这个问题。投票!
  • 我使用jj 退出插入模式。使用这种方法创建键盘映射会阻止j 在正常模式下的实际使用(例如尝试向下走三行jjj)。为避免这种情况,请创建.ideavimrc 并将:imap jj <Esc> 放入其中。
  • 另一个受欢迎的选项是:imap jk <Esc>
【解决方案3】:

如果你喜欢安装 Vim 插件(我觉得它在打字时非常方便),同时让 Ctrl+CCtrl+V 用于复制并粘贴操作,请执行以下操作:

在 IntelliJ Idea 中,单击File > Setting。在左侧窗格中,展开 Editor 并单击 Vim Emulation

在这里,在 Shortcut 列下,找到 Ctrl+C 并将其 Handler(在 Handler 列下)更改为 IDE 而不是 Vim

同样重复 Ctrl+V 并点击 ApplyOk

现在,您应该可以使用键盘快捷键进行复制和粘贴,同时保持 Vim Emulator 处于启用状态。

【讨论】:

  • 我在任何地方都找不到该选项,大声笑....感谢您指出!
【解决方案4】:

IntelliJ 12.1:

  1. 转到Settings
  2. 从左侧菜单中选择Keymap
  3. Editor Actions 部分下找到Escape 并在此处添加Ctrl-C 快捷方式。 (“IdeaVim”部分下的“Escape”对我不起作用)

按照相同的步骤,但将“Escape”替换为“Exit Insert Mode”仅对我部分有效。它正确退出了插入模式,但忽略了以下击键。所以键入 Ctrl-C,j,j 会退出插入,但只会上升一行而不是两行。

【讨论】:

    猜你喜欢
    • 2015-12-09
    • 2014-12-16
    • 2021-03-14
    • 1970-01-01
    • 2021-08-07
    • 2019-05-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-03
    相关资源
    最近更新 更多