首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Vim中,如何切换'i','j','k‘和'h’的功能

在Vim中,如何切换'i','j','k‘和'h’的功能
EN

Stack Overflow用户
提问于 2013-03-04 07:38:44
回答 2查看 765关注 0票数 1

我学习Vim for development已经有5个星期左右了,虽然事情已经开始深入,但我有一个令人沮丧的个人问题仍然困扰着我。

我经常用'i‘来提升自己。“k”是向下的,“j”和“l”分别是左和右。

我知道这一切都是因为玩了太多年的电脑游戏,这些游戏都是方向运动。老实说,我不想再和它斗争了,我宁愿做对我来说非常自然的事情。我如何重新映射这些,以便上面的是方向移动,而'h‘是插入?

2个问题:如何将这些设置永久存储在本地设置中,以便在我自己的计算机上进行开发,以及当我在别人的计算机上工作时,如何快速切换这些设置。我的意思是,有没有一组我可以调用的命令,然后当我关闭Vim时它们就会被删除?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-04 07:48:50

将其放在一个名为~/.vimrc的文件中

代码语言:javascript
复制
noremap i k
noremap k j
noremap j h
noremap h i

如果您在其他人的计算机上使用vim,您可以在提示符处输入相同的四个命令(在每个命令之前键入:,在每个命令之后键入enter ),并且这些设置将仅应用于一个会话。

此外,nonoremap的缩写,因此您可以将整个序列缩短为

代码语言:javascript
复制
:no i k<enter>:no k j<enter>:no j h<enter>:no h i<enter>

当你使用别人的电脑时。

票数 7
EN

Stack Overflow用户

发布于 2013-03-04 08:12:43

不做这种映射!它甚至比使用箭头键还要糟糕

首先,我建议你学习vim移动光标的方式。

回到你的问题,重新映射h,j,k,l很简单。然而,做这些映射是没有意义的(你也不应该这样做),它不会让你工作得更快,当你使用vim时,它只会让你发疯。你知道,用vim编辑并不意味着

在正常模式下,只需做moving

  • entering
  • 插入模式,实际编辑
  • 回到正常模式,保存文件

你可以在NORMAL模式下使用很多vim魔术(这就是为什么它被称为NORMAL)。使用您的映射,当您想要应用这些映射时,您将真的很头疼。让我们举个例子。假设您已经为您的需求设置了映射。i,j,k and h。我们有一句话:

代码语言:javascript
复制
function foo (String arg)

当光标在()之间时,您可以输入ci(来更改括号中的内容。但是,您的i意味着k。会发生什么呢?当前行及其上方的行将被删除!!你可能会说,你会记得输入chw, dhw,ch(,dhw...,所以你必须在你的脑海中重新映射这些键。:)

此外,当你想“借用”别人的.vimrc,或者使用一些插件时,你也会遇到问题。

您可以通过上面的简单示例了解这一点。因此,在重新映射这些基本键之前,请三思。

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15192284

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档