Vim 数字键盘上的映射键
多年来,我一直在使用笔记本电脑——键盘上没有数字键盘。最近购买了dekstop键盘。。。就在今天,我发现Vim的数字映射(1…9,0)在数字键盘上不起作用。我是什么意思Vim 数字键盘上的映射键,vim,Vim,多年来,我一直在使用笔记本电脑——键盘上没有数字键盘。最近购买了dekstop键盘。。。就在今天,我发现Vim的数字映射(1…9,0)在数字键盘上不起作用。我是什么意思 nmap 1 Dj 数字键盘1不工作 这个问题有什么解决办法吗(不是真正的“问题”,而是烦人的问题)?这对我在Windows上很有效:nmap:tabnew 键盘标识符为k1、k2等,也包括KPLU等。据我所知,NumLock关闭时映射失败。我有一些键盘和终端无法通过k*标识符映射。要在这种情况下映射它们,请使用Ctlv输入正
nmap 1 Dj
数字键盘1不工作
这个问题有什么解决办法吗(不是真正的“问题”,而是烦人的问题)?这对我在Windows上很有效:
nmap:tabnew
键盘标识符为k1、k2等,也包括KPLU等。据我所知,NumLock关闭时映射失败。我有一些键盘和终端无法通过
k*
标识符映射。要在这种情况下映射它们,请使用Ctlv输入正确的转义码
例如,要在键盘上映射1
以执行Dj
,请输入:
:map
然后键入Ctlv,这将打开一个带有^[
的转义序列。然后按键盘上的1。生成的代码将类似于^[Ow
。正常完成映射:
:map ^[Ow Dj
您可以通过以下方式在vi(例如在~/.vimrc
)中映射NUM键:
inoremap <Esc>Oq 1
inoremap <Esc>Or 2
inoremap <Esc>Os 3
inoremap <Esc>Ot 4
inoremap <Esc>Ou 5
inoremap <Esc>Ov 6
inoremap <Esc>Ow 7
inoremap <Esc>Ox 8
inoremap <Esc>Oy 9
inoremap <Esc>Op 0
inoremap <Esc>On .
inoremap <Esc>OQ /
inoremap <Esc>OR *
inoremap <Esc>Ol +
inoremap <Esc>OS -
inoremap <Esc>OM <Enter>
inoremap Oq 1
重新映射或2
inoremap操作系统3
inoremap Ot 4
inoremap Ou 5
inoremap Ov 6
inoremap Ow 7
inoremap Ox 8
inoremap Oy 9
inoremap op0
重新映射。
inoremap OQ/
重新映射或*
伊诺雷马克+
inoremap操作系统-
inoremap OM
此设置是按原样使用NUM键的一个示例。当然,您可以更改映射。我也经常使用键盘映射。为了帮助您开始了解映射,您可以查看vim“知道”哪些键以及当前映射有哪些:
:h keycodes
希望这将列出您的键盘键等。如果是这样,那么您可以轻松地(不必担心找到并使用它们的转义序列)重新映射它们,例如使用map:wincmd w
多年来,我一直使用Ctrl-v加上一个键来获取XXXX映射,直到我找到了keycodes命令和真正有用的定义
希望这可能会有所帮助!:映射,然后Ctrl-v(只给我^),然后按1什么也不给我。@ldigas是你的NumLock开还是关?开。当它关闭时,它给出(或,或-取决于键)。这是预期的。@ldigas奇怪。很抱歉,我没有解决方案。@ldigas真的?在这里工作很好。运行在Windows 7 x64上的Vim 7.3。但正如我所说,如果NumLock关闭,则映射将无法工作。@ldigas此注释可能看起来很愚蠢,但您上面的注释不清楚:您是否尝试过
或
?第一个需要Ctrl
键被按下。@kprobst-WinXP SP2在一台带有外部键盘的笔记本电脑上运行。Vim版本7.3。我很熟悉NumLock键的功能:)@ldigas this one'。我只是认为没有Ctrl
键你不会尝试它。@ldigas映射在这台机器上运行得很好(WinXP SP3),它应该按照:h keycodes
中的规定工作。可能与外部键盘有关。和中有一些附加信息。