gpt4 book ai didi

vim - gVim 使 alt+(letter) 键产生重音字符而不是退出插入模式并执行命令

转载 作者:行者123 更新时间:2023-12-04 18:29:09 26 4
gpt4 key购买 nike

在终端模式下,我经常使用 alt-l 之类的东西来退出插入模式(同时将光标保持在同一个位置)。本质上,我非常习惯这种行为作为一种退出插入模式然后执行后面的命令的方法。

然而,在使用 gVim 时,alt+(某些字符)会产生重音字符。从我的搜索中我了解到这可能是由于 utf-8 编码或其他原因造成的。我不太关心重音字符,所以我不需要 utf-8 编码。有什么方法可以让 (M-l) 表现得像 l,就像它在终端模式下的工作方式一样?

编辑:按照只重新映射到(字符)的建议,我知道在我的 .vimrc 中有这个。它可以解决问题。

if has('gui_running')
:set guioptions -=m
:inoremap <M-l> <Esc>l
:inoremap <M-j> <Esc>j
:inoremap <M-k> <Esc>k
:inoremap <M-h> <Esc>h
endif

:set guioptions -=m 只是让菜单消失,这样按下 Alt-h 就可以完成我想要它做的事情,而不是降低帮助菜单。

最佳答案

您的终端很可能将 Alt 解释为 Esc。

在 CLI Vim 中,Alt+l 因此实际上是 Esc+l:它退出插入模式并将光标向右移动一个字符。

基本上,您已经养成了 Vim 限制的习惯。

在 GUI Vim 中,Alt+l 实际上是 Alt+l:它在您的键盘布局中插入通常与该组合键相关联的特殊字符。在这台 Mac 上,我得到 ¬并将某些东西映射到 <A-l>根本不起作用。

Alt 键处理是一个常见的提示,但 AFAIK 没有万无一失的方法来拥有适当的跨平台和工作 <A-character>映射。

您可以通过这个简单的映射在 GVim 中获得所需的行为(在此机器上使用 Alt+l 的输出,按下 Alt+l 以插入正确的字形):

inoremap ¬ <Esc>l

但这听起来不像是一个好策略。

我实际上从未尝试过在 Linux 或 Windows 上的 GVim 中进行 Alt 映射,所以 YMMV。

关于vim - gVim 使 alt+(letter) 键产生重音字符而不是退出插入模式并执行命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18752175/

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