gpt4 book ai didi

Vim 键映射适用于命令编辑器,而不适用于 .vimrc - 为什么?

转载 作者:行者123 更新时间:2023-12-05 05:27:05 25 4
gpt4 key购买 nike

当我通过命令缓冲区创建以下键映射时,它按预期工作,将光标向下移动 5 行:

map ^[[1;3B 5<Down>

当我将它添加到我的 .vimrc 文件以便它跨 session 工作时,按 Alt+Down 会向后移动 1 行(到不在垂直上方的某个地方 - 可能会转到前一个句子)。我的 :map 输出是这样的:

0             ^
^[[1;3B 5<Down>
n gx <Plug>NetrwBrowseX
n <Plug>NetrwBrowseX * :call netrw#NetrwBrowseX(expand("<cWORD>"),0)<CR>

Press ENTER or type command to continue

为什么这个 vimrc 映射的工作方式与我在命令缓冲区中键入的不同?

我的 vim 版本是:

VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Jan 10 2014 00:22:49)
Included patches: 1-135
Compiled by <cygwin@cygwin.com>

更新

有两个问题。

  1. 我的 Vim 版本不理解 map <M-Down> 5<Down>但确实理解map <M-Down> 5j
  2. 我的 .vimrc 文件中的某些东西阻止了 map <M-Down> 5j从工作。为了在我的 Cygwin 环境中获得“正常”的 vim 行为,我不得不进行大量修改:
"==================
" Keyboard trouble
"=================

" Every so often I am using a system that inserts a A, B, C, or D
" when using the arrow keys within the Vim editors insert mode.
" Vim is for VI Improved. While I did not dig into the exact reasons
" as to why (terminal emulation?) it happens, it is quite annoying.
set nocompatible
"set term=cons25

" This fixes Cygwin's vim's page up, home, end etc. keys
" http://superuser.com/questions/480215/
" how-to-map-pagedown-and-pageup-keys-to-function-normally
set term=mintty
set backspace=2 " backspace on Cygwin Windows Objy was not deleting properly.
" But this doesn't solve other cursor movements like
"home and end
"source /home/sarnobat/.vim/cscope_maps.vim
"g:CCTreeCscopeDb = "/home/sarnobat/cscope/cscope.files"

"==============================
" Key bindings
"==============================
map 0 ^

最佳答案

我不理解那些字符:^[[1;3B。在 您可以将 Alt 键选择为字母 M,将箭头字母选择为 down,因此:

map <M-down> 5<Down>

将在命令行和您的 vimrc 文件中工作。

关于Vim 键映射适用于命令编辑器,而不适用于 .vimrc - 为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22106741/

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