Linux 为什么在vim中使用Esc?

Linux 为什么在vim中使用Esc?,linux,unix,vim,keyboard,Linux,Unix,Vim,Keyboard,Vi编辑器最初是在ADM-3A终端上编写的,该终端使用Escape键代替Tab键(与大多数现代键盘相比)。许多触摸式打字员都很欣赏这样一个事实,即在使用Vim时,他们可以将手放在键盘主行上,但由于使用了Esc,因此必须将手放在键盘主行上按Esc键。我目前正在学习vim。是否应将Esc重新映射到其他位置?这种情况下最常见的重新映射是什么?或者我应该放弃重新映射Esc的想法,继续使用它吗?vim的专业用户做什么?我已将Escape映射到其他未使用的Caps Lock。这是简化vim使用的常用方法。也

Vi编辑器最初是在ADM-3A终端上编写的,该终端使用Escape键代替Tab键(与大多数现代键盘相比)。许多触摸式打字员都很欣赏这样一个事实,即在使用Vim时,他们可以将手放在键盘主行上,但由于使用了Esc,因此必须将手放在键盘主行上按Esc键。我目前正在学习vim。是否应将Esc重新映射到其他位置?这种情况下最常见的重新映射是什么?或者我应该放弃重新映射Esc的想法,继续使用它吗?vim的专业用户做什么?

我已将Escape映射到其他未使用的Caps Lock。这是简化vim使用的常用方法。也有一些替代方案。如果您愿意,同一篇文章将链接到使EscapsLock开关在系统范围内的调整。

esc键的另一种选择是CTRL+[combination.
(这是VIM中的标准,无需重新映射任何内容)

我一直使用这个快捷方式,而不是Esc


此外,我还将caps lock键重新映射到Ctrl键,这样打字就更容易了。

我将键序列
jk
映射到
Esc

你可能会问,当你遇到一个带有
jk
的单词时会发生什么。没问题。键入
j
,等待半秒钟,然后键入
k
。是的,这并不理想,但不必移动你的手的优势要多得多

我强烈推荐
jk
sequence作为'Esc


同一想法的其他变体是
jj
——我个人认为这对我不起作用。我使用
j
向下移动——和其他人一样。

我将capslock重新命名为control,将right control重新命名为escape键,所以现在按escape键就可以了。

CtrlC也可以从盒子中逃生。我已经将capslock键映射到CtRLAS在很多情况下对我更有用。

imap jj
imap jj <ESC>

其他人喜欢映射“jk”或“leader-j”。我没有像应该的那样多地使用hjkl。

我使用菜单键而不是escape


详细信息如下:

我已亲自将
重新映射到
ii


i
进入插入模式和
ii
退出插入模式很容易记忆。

我用
映射了我的手指,现在我的右小指疼痛,这是在编码一个月后。我认为使用
jj
jk

是一个好决定。我已经将它重新映射到了我的右侧⌘ (mac键盘)因为无论您处于何种模式或应用程序,它都会工作。

我将Esc重新映射到Caps系统范围

在Linux中: 在主目录中创建一个文件“.Xmodmap”,包含以下内容:

clear Lock
keysym Escape = Caps_Lock
keysym Caps_Lock = Escape
在Mac中: 下载一个名为“KeyRemap4MacBook”的程序,并将选项卡重新映射到Esc


不过,使用别人的电脑会让人讨厌。我是一个环境调节者,在标准设置上看起来像我奶奶://

khachik:但人体工程学可以是客观的。离开家里的一排去做一些非常普通的操作意味着人体工程学不好。你为什么要复制文本的一部分()答案已经给出了吗?这类似于等效的Emacs界面:对ctrl使用caps lock。如果还有其他任何东西,你就会发疯。将capslock重新映射到ctrl并使用ctrl+[而不是escape]是更好的方法。这在VIM中几乎一样好,在其他程序中甚至更好。@sjas,支持C-[与Esc一样]的程序更少。(当然是在谈论X应用程序。)当然,这样做可能更好。它是专门为vim而不是其他程序设计的。:)哈哈,没错,但这是无意的。我正在考虑在其他应用程序中也可以使用更好的CTRL键。因为我想你需要的CTRL键比ESC更频繁。:DIt更多“到处都是终端中的标准”比“VIM中的标准”。传统上,Ctrl-A产生ASCII代码1,Ctrl-B代码2,…Ctrl-Z代码26,通过连续性,Ctrl-[被映射到ASCII代码27,ESC。所以不要每次都闪烁大写锁定来分散你的注意力?@Pascal它实际上被映射到VIM中,所以它也在gVim中工作。请参阅:帮助^为什么没人告诉我-[与escape相同,我觉得我的手指一直在徒劳无功地走这么长的路去寻找escape键。我和你在一起,顺便说一句,我是从emacs那里养成了这个习惯的,但考虑到我按Ctrl-c的频率。@user537488:不,它通常不会闪烁——这取决于你如何映射它。我的gentoo linux不识别caps锁(因此它根本不会闪烁)另一方面,windows xp.Debian也不会奇怪地闪烁。LED由操作系统控制,因此,如果它看到的是Ctrl或Esc而不是Caps lock,那么它就不需要知道任何其他信息。但是,
jj
只能映射到插入模式。不过,如果一个人在视觉或命令行模式下花费大量时间,则可以使用诸如
jk更有意义!我没想到。@progo,你说得对。
jj
imap'd会很好。但我还是倾向于
jk
,这次我的论点(:)是
jk
无论如何都是一个NOOP(下移上移)…就像
Esc
Ctrl-C一样,应该小心使用,因为大多数插件在发送时响应不好…有时这甚至会导致插件崩溃和难以复制的奇怪行为。