Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vim 数字键盘上的映射键_Vim - Fatal编程技术网

Vim 数字键盘上的映射键

Vim 数字键盘上的映射键,vim,Vim,多年来,我一直在使用笔记本电脑——键盘上没有数字键盘。最近购买了dekstop键盘。。。就在今天,我发现Vim的数字映射(1…9,0)在数字键盘上不起作用。我是什么意思 nmap 1 Dj 数字键盘1不工作 这个问题有什么解决办法吗(不是真正的“问题”,而是烦人的问题)?这对我在Windows上很有效:nmap:tabnew 键盘标识符为k1、k2等,也包括KPLU等。据我所知,NumLock关闭时映射失败。我有一些键盘和终端无法通过k*标识符映射。要在这种情况下映射它们,请使用Ctlv输入正

多年来,我一直在使用笔记本电脑——键盘上没有数字键盘。最近购买了dekstop键盘。。。就在今天,我发现Vim的数字映射(1…9,0)在数字键盘上不起作用。我是什么意思

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
中的规定工作。可能与外部键盘有关。和中有一些附加信息。