vimrc中使用Alt的任何映射都不起作用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vimrc中使用Alt的任何映射都不起作用相关的知识,希望对你有一定的参考价值。

我在.vimrc中使用ALT进行了一些映射。他们是:

nnoremap <A-J> :m .+1<CR>==
nnoremap <A-K> :m .-2<CR>==

预期的行为:这两个映射应该上下移动一行。但他们没有工作。我甚至没有收到任何错误或警告。但是当我使用shift时,它们工作正常。下面给出了工作映射。

nnoremap <A-J> :m .+1<CR>==
nnoremap <A-K> :m .-2<CR>==

ALT为什么不工作?

答案

首先查看终端发送给vim的密钥代码:

$ sed -n l

我在Ubuntu,Alt+j导致

^[j

这基本上打印出从终端发送到vim的密钥代码组合。

如果您在使用<A+j>组合键时遇到困难,您可以获取发送到vim的内容然后在.vimrc中使用它。

如下:

nnoremap ^[j :m .+1<CR>==

这将把<Alt + J>映射到一个阵容。

注意:请勿将nnoremap ^[j :m .+1<CR>==复制并粘贴到.vimrc中。您将不得不在终端中找到正在发送的密钥代码,并且它可能与^[j非常不同,因为每个终端可能会向vim发送不同的密钥代码。我正在使用在VM上运行的Putty + Ubuntu。

另一答案

要映射Alt,您必须使用M而不是A.

nnoremap <M-J> :m .+1<CR>==
nnoremap <J-K> :m .-2<CR>==

以上是关于vimrc中使用Alt的任何映射都不起作用的主要内容,如果未能解决你的问题,请参考以下文章

更新到 Android Studio 4.2 后,查找和替换都不起作用

片段 getActivity 不起作用

映射到 vimrc 中的 XF86 键

在 vim 中重新映射“Y”

centos vim 背景颜色怎么设置

Facebook REST API Like/UnLike 任何帖子都不起作用