gpt4 book ai didi

vim - 为什么这个 .vimrc 映射在终端中不起作用(但它在 MacVim 中起作用): map O

转载 作者:行者123 更新时间:2023-12-04 06:42:17 24 4
gpt4 key购买 nike

我的 .vimrc 文件中有两行:

map <S-Enter> O<Esc>
map <CR> o<Esc>

第二行按预期工作,但第一行没有。

这个想法是,如果我按下 Enter 键,那么 vim 应该在光标位置下方插入一个新行并将光标向下移动到该行。如果我按下 Shift-Enter,vim 应该在光标位置上方插入一个新行并将光标向上移动到该行。这个映射应该有效,因为大写 O正常模式下的键将在光标所在行的上方插入一个换行符,将光标放在该行的开头,然后将用户置于插入模式。首都 O其次是 <Esc>应该简单地将 vim 恢复到命令模式。

我查过和资本 O像我期望的那样工作。那么为什么我的映射不起作用?我试过使用 map <Shift-CR>map <Shift-Enter> ,而且这两种方法都不起作用。

编辑 原来它在 MacVim 中有效,但在 iTerm 中无效。如果有人可以解释原因并提出解决方法,我将不胜感激。

最佳答案

你在使用控制台 Vim 吗?某些组合键只能在 GVIM 中映射。在所有/大多数 Linux 终端中,Enter 不能与 Shift 或 Ctrl 组合使用。您的映射本身是正确的,但您必须在映射中使用不同的 LHS。

由于键盘输入的内部处理方式,某些组合键即使在 GVIM 中也无法使用。某些组合键,例如 Ctrl + 非字母无法映射,无法区分 Ctrl + 字母与 Ctrl + Shift + 字母。这是一个已知的痛点,也是 vim_dev 和 #vim IRC channel 上各种讨论的主题。

有些人(最重要的是 Paul LeoNerd Evans)想要解决这个问题(即使对于支持这个的终端中的控制台 Vim),并且已经提出了各种建议,cp。 http://groups.google.com/group/vim_dev/browse_thread/thread/626e83fa4588b32a/bfbcb22f37a8a1f8

但截至今天,还没有补丁或志愿者出现,尽管许多人表示希望在 future 的 Vim 8 主要版本中拥有它。

关于vim - 为什么这个 .vimrc 映射在终端中不起作用(但它在 MacVim 中起作用): map <S-Enter> O<Esc>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13072701/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com