我花了5周左右的时间学习Vim进行开发,当事情开始陷入困境时,我有一个令人沮丧的个人问题仍在绊倒我。
我一直在用'我'来'向上'。 'k'是向下,'j'和'l'分别是左右。
我知道这一切都来自玩多年的PC游戏,这些都是方向运动。老实说,我不想再打它了,我宁愿做一些对我来说非常自然的事情。我怎样才能重新映射这些以便上面是方向移动而'h'是插入?
2个问题:如何将这些永久存储在我自己的机器上进行开发的本地设置中,当我在其他人的机器上工作时,如何快速切换它们。我的意思是,是否有一组命令可以调用,然后当我关闭Vim时它们会被删除?
答案 0 :(得分:10)
不要做映射!它比使用箭头键更糟糕
首先,我建议你学习移动光标的vim方法。
回到你的问题,重新映射h,j,k,l
很容易。但是,进行这些映射没有任何意义(并且你不应该这样做),它不会让你工作得更快,它只会让你在使用你的vim时发疯。你知道,用vim编辑并不意味着
你可以在NORMAL
模式下做很多vim魔术(这就是为什么它被称为NORMAL
)。你的映射,当你想要应用它们时,你会真的很头疼。我们来举个例子吧。假设您已经为您的需求设置了映射。 i,j,k and h
。我们有一条线:
function foo (String arg)
当光标位于(
和)
之间时,您可以输入ci(
来更改括号中的内容。但是,i
表示k
。会发生什么?当前行和它上面的行将被删除!!那么你可以说,你会记得键入chw, dhw,ch(,dhw...
所以你必须在你脑海中重新映射这些键。 :)
此外,当您想“借用”别人的.vimrc
或使用某些插件时,您也会遇到问题。
您可以通过上面的简单示例看到这一点。因此,在重新映射这些基本密钥之前,请先考虑两次。
答案 1 :(得分:5)
将其放在名为~/.vimrc
的文件中:
noremap i k
noremap k j
noremap j h
noremap h i
如果您在其他人的计算机上使用vim,则可以在提示符处键入相同的四个命令(在每个命令前键入:
,然后在每个命令后输入),这些设置仅适用于1个会话。
此外,no
是noremap
的缩写,因此您可以将整个序列缩短为
:no i k<enter>:no k j<enter>:no j h<enter>:no h i<enter>
当你使用别人的电脑时。