Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.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中反转Ctrl-O_Vim_Buffer_Keyboard Shortcuts - Fatal编程技术网

无法在Vim中反转Ctrl-O

无法在Vim中反转Ctrl-O,vim,buffer,keyboard-shortcuts,Vim,Buffer,Keyboard Shortcuts,我要的是相反的 Ctrl+O 将来 Shift+Ctrl+O 原来的反面是 Ctrl+I 如何将Vim中CTRL+O的相反方向重新映射为Shift+CTRL+O?如下面的帮助中所示 :help C-o Ctrl+o的“反转”是 不幸的是,Vim将Control-o和Control-o识别为同义词。 有一些关于为什么不能映射Control-Shift-o的信息,但看起来不可能 我对Idigas的答案投了赞成票,记住Control-I并不难。Vim将Ctrl+Shift+O视为Ctrl

我要的是相反的

  • Ctrl+O
将来

  • Shift+Ctrl+O
原来的反面是

  • Ctrl+I
如何将Vim中CTRL+O的相反方向重新映射为Shift+CTRL+O?

如下面的帮助中所示

:help C-o
Ctrl+o的“反转”是


不幸的是,Vim将Control-o和Control-o识别为同义词。
有一些关于为什么不能映射Control-Shift-o的信息,但看起来不可能

我对Idigas的答案投了赞成票,记住Control-I并不难。

Vim将Ctrl+Shift+O视为Ctrl+O,因为终端仿真器有一个限制。

实际上,如果使用xterm,可以通过在
.Xresources
文件中重新映射键来绕过终端仿真器的限制。使用您无论如何都不会使用的密钥序列,例如C-M-7(0x9f):

XTerm*vt100*翻译:#覆盖\n\
Ctrl Shift O:字符串(0x9f)
然后执行一个
xrdb-merge~/.Xresources
并在Vim中将C-M-7映射到C-i


诚然,这是一个黑客,但它帮助了我很多。查看我的灵感。

@Idigas:你如何重新映射Shift-Ctrl-O键。我永远记不起C-I键。@Idigas:谢谢你的回答@Ruslan
Ctrl-i
Ctrl-i
是synonymous@törzsmókus不,他们不是
Ctrl-I
相当于
Ctrl-Shift-I
。而且撤销
Ctrl-o
实际上并不起作用,不像
Ctrl-i
那样起作用。在大多数终端上,您(或vim)无法判断用户是按了
Ctrl-i
还是按了
Ctrl-Shift-i
,这就是我所说的“同义词”。请参阅中的链接以了解此所属的解释。它与编程无关。是否有关于这些限制的详细信息?是的,请参阅中的
XTerm*vt100*translations: #override\n\
    Ctrl Shift <Key> O: string(0x9f)