在vim中更改默认键绑定

Lin*_*enk 3 vim

尝试多次使用vim之后,我总是被它的默认键绑定所拖延.经过一些研究,我决定将默认密钥重新映射到更理智的密钥(至少对我的口味而言).我有一些关于更改绑定的问题,我无法通过Google找到答案.

  1. 有没有办法将键映射到操作不是另一个键.例如:
    :noremap a h
    将绑定a键以向左移动光标.有沿东西线
    :noremap a move-cursor-left

    :noremap a :move-cursor-left<Enter>
    让我以后可以读我的配置文件?

  2. 有没有办法解除所有默认键绑定的绑定?我已经尝试:mapclear但它似乎没有用,虽然它可能只是清除非默认绑定.手动取消映射每个键不是一个选项.如果可能的话,我想将默认值导出到文件中,以便我可以根据需要对其进行编辑.

  3. 除了vim-script之外,还有其他语言可以用来为vim编写我自己的命令吗?我实际上并没有那么多地研究这个.如果我可以将外部可执行文件绑定到命令,那就足够了.

  4. 我还没有放弃vim,虽然我想问一下是否有类似vim的替代方案.我的谷歌搜索没有积极开发.如果无法完成上述任务或合理攻击,我想找到一个完全可配置的模态命令行文本编辑器.

Ing*_*kat 6

vi/Vim的命令集有40年的智慧编码; 完全改变它是一个坏主意.我只能从评论中重复对这个答案的提及; 这应该说服你(接受这个,或选择另一个编辑).

再试一次默认命令.这需要一些时间来习惯,但大多数Vim用户都会发誓这些.对"个人风格"进行微调是很好的:细心的进化,但不是革命.此外,一些奇怪的键盘布局(如DvorakColemak)为了方便交换了几个键.

move-cursor-left仅仅h; 在优秀的帮助下:help,您应该能够"阅读"您的重新映射就好了.

一般来说,尽管可以使用Perl,Python,Ruby等集成语言编写扩展/插件(基于对它们的编译为Vim二进制文件的支持),但您无法学习一些关键的Vim内部和部件Vimscript.如果您对此感到不舒服,我建议您使用其他编辑器.不幸的是,根据您对完全可扩展性的要求(可能还有广泛的接受度和平台支持),只有一个严肃的选择:Emacs(它不仅可以变成厨房水槽以外的所有东西,而且也可以变成模态编辑器).

  • 我在使用两个编辑器时遇到问题:“less”和“vim”。因此,我错误地按了“q”键退出 vim——这开始了录音……所以,“拥有 40 年的经验”意味着*不可能*他们知道其他人如何使用这个工具,因此只是不允许重新映射的糟糕借口...... (4认同)
  • “使用默认布局”仅在使用 QWERTY 时才是可接受的答案。回到 Emacs。:) (3认同)
  • 它没有“40年的智慧”。它是在没有鼠标或箭头键的时代设计的。这就像说不要使用智能手机,因为旋转拨号电话的设计拥有数十年的智慧。Vim 是一个糟糕的文本编辑器,更不用说按照今天的标准来编程 IDE 了。 (2认同)

小智 6

(我知道这个问题很老了)

您可以通过覆盖它们来重置绑定

在 vim 上,你可以使用许多 <things> (不知道名字),
例如
<Up> = 向上箭头键
<Cf> = Ctrl,f
<A-Down> = Alt,向下箭头键
<Esc> = Escape-钥匙

可以将 hjkl 键重新映射到 wasd,如下所示:

nmap w <Up>
nmap a <Left>
nmap s <Down>
nmap d <Right>