无需离开主行即可返回正常模式

时间:2011-01-31 04:59:42

标签: vim key mode

我一直在尝试vim,对速度和可访问性的强调对于资深程序员来说是有意义的。我之前使用的是emacs,目前使用了nanogeditgeany等内容的组合。

我对需要不断切换模式感到困惑,并且从插入模式返回到正常模式需要离开主行按 Esc 。我之前已经读过,在第一次使用vim的某些系统上,这个键是 Tab ,这更有意义,但在当前系统中,编码在编码时应该参与智能缩进

返回正常模式是您需要始终执行的操作。是否有一些替代键映射使这更快,或者我根本不知道这样做的映射呢?

7 个答案:

答案 0 :(得分:9)

Ctrl + C也会返回正常模式

答案 1 :(得分:7)

你也可以使用^ [。如果你已经将大写锁定键映射到控制(强烈推荐),这将成为一个相当容易的按键。

答案 2 :(得分:3)

我个人使用Capslock键作为第二个Esc键,所以非常舒服。您可以通过在.xmodmap文件中添加以下行来执行此操作:

remove Lock = Caps_Lock
keysym Caps_Lock = Escape

答案 3 :(得分:2)

您可以映射您想要逃脱的任何内容:

imap kj <Esc>

除了谈论这个映射之外,我还没有碰到我需要彼此相邻键入kj的情况。我见过其他人使用jk或jj,但kj最适合我。

答案 4 :(得分:1)

我个人使用ii在停留在主页行时退出插入模式,但这只是个人偏好的问题:

inoremap ii <Esc>

i在插入 这很容易让你的手指记住。 (我倾向于仍然使用ii

答案 5 :(得分:0)

我个人使用左控制作为逃脱并使用大写锁定作为左控制。它不是vim映射,而是一些xmodmap + setxkbmap magic:

! ~/.Xmodmap
! Control_R
keycode 37 = Escape
X键盘选项中的

ctrl:nocaps。你可能有不同的密码。

答案 6 :(得分:0)

Use Alt/Meta In a Terminal

如果在终端中使用Vim,只需按alt / meta + normal_mode_key。大多数终端会发送一个转义字符,后跟您按下的normal_mode_key,这样就无需自己按转义。

默认情况下,当您按下alt / meta + normal_mode_key时,终端konsole和gnome终端会发送转义符。对于Xterm,您可以按住Ctrl键并单击并选择“元发送转义”或“ Alt发送转义”选项。

因此,在插入模式下,按alt + h alt + j alt + k alt + l均可将您带到正常模式并按预期的方向移动。即使在正常模式下移动,也可以按住alt键,因为发送的附加ESC不会造成损害。

使用此方案的优点是您可以将alt / meta + key组合键与任何普通模式键一起使用,例如

Alt+o opens a new line below the one you are currently editing,
Alt+A appends to the end of the current line,
Alt+p pastes at the current insert location.
Alt+k moves up 

因此,通过终端使用vim可以为您在任何标准标准系统上提供这些快捷功能,而无需编辑每个系统的vim映射。

相关问题