vim - 更改 vim 中的默认键绑定(bind)

标签 vim

在尝试多次使用 vim 之后,我总是被它的默认键绑定(bind)推迟。经过一番研究,我决定将默认键重新映射为更健全的键(至少符合我的口味)。我有一些关于更改绑定(bind)的问题,但我无法通过 Google 找到答案。

  • 有没有办法将一个键映射到一个 Action 而不是另一个键。例如::noremap a h将绑定(bind) a键向左移动光标。有没有类似的东西:noremap a move-cursor-left或者:noremap a :move-cursor-left<Enter>所以我可以在之后阅读我的配置文件?
  • 有没有办法解除所有默认键绑定(bind)?我试过:mapclear但它似乎不起作用,尽管它可能只是清除非默认绑定(bind)。手动取消映射每个键不是一种选择。如果可能的话,我想将默认值导出到一个文件中,以便我可以根据需要对其进行编辑。
  • 除了 vim-script 之外,还有其他语言可以用来为 vim 编写自己的命令吗?不过,我实际上并没有仔细研究过这个。如果我可以将外部可执行文件绑定(bind)到命令,那就足够了。
  • 尽管我想问一下是否有类似 vim 的替代方案,但我并没有放弃 vim。我的谷歌搜索没有积极开发。如果以上不能完成,或者不能合理地破解,我想找到一个完全可配置的、模态的、命令行文本编辑器。
  • 最佳答案

    vi/Vim 的命令集编码了 40 年的智慧;完全改变它是一个坏主意。我只能重复引用 this answer从评论中;这应该能说服你(接受这个,或者选择另一个编辑)。

    再试一次默认命令。这需要一些时间来适应,但大多数 Vim 用户都对此深信不疑。为“个人风格”做一些细微的调整是可以的:谨慎进化,而不是革命。此外,一些键盘布局奇特的人(如 Dvorak 或 Colemak)为了方便交换了几个键。
    move-cursor-left只是 h ;由优秀的 :help 提供帮助,您应该能够很好地“读取”您的重新映射。

    一般来说,即使可以用 Perl、Python、Ruby 等集成语言编写扩展/插件(基于对它们编译到 Vim 二进制文件中的支持),你也不会绕过学习一些关键的 Vim 内部结构和部分Vimscript 的。如果您对此感到不自在,我建议您使用其他编辑器。不幸的是,根据您对完全可扩展性的要求(可能还有广泛的接受度和平台支持),只有一个严肃的选择:Emacs(它不仅可以变成除了厨房水槽之外的所有东西,还可以变成模态编辑器)。

    关于vim - 更改 vim 中的默认键绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24416826/

    相关文章:

    Vim:如何创建键映射到 :edit 并跳转到最后一行?

    vim - 在vim中,如何分割一个单词并翻转两半? FooBar => 酒吧Foo

    Java (Eclim + Vim) "system.out.print"不工作

    c++ - 在 .vimrc 中执行映射命令后 vim 不会暂停

    python - vim 中用于缩进 python 文件的选项卡

    Vim:以插入模式打开空白文件

    vim 选择段落——如何重新定义段落边界?

    vim - 突出显示 Python 字符串文字中的 SQL

    vim - 特定文件类型的新文件的自动命令

    vim - 我该如何在vim中做 “version control”?