Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.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
运行Tmux时Vim的选项卡问题_Vim_Terminal_Tmux - Fatal编程技术网

运行Tmux时Vim的选项卡问题

运行Tmux时Vim的选项卡问题,vim,terminal,tmux,Vim,Terminal,Tmux,当我在Tmux内部运行Vim时,我必须按tab键两次才能注册按键。我在谷歌上搜索了一段时间,但没有结果。当我在Tmux之外使用Vim时,我没有这个问题。tab键是为我不知道的东西保留的吗 我该如何解决这个问题 除了将C-b映射到C-I之外,我还没有在tmux中真正配置任何东西 set -g prefix C-i unbind C-b bind C-i send-prefix 虽然选项卡和控件-i在GUI环境中通常是不同的,但它们在基于tty的环境(如终端仿真器)中生成相同的字符。该字符是U+0

当我在Tmux内部运行Vim时,我必须按tab键两次才能注册按键。我在谷歌上搜索了一段时间,但没有结果。当我在Tmux之外使用Vim时,我没有这个问题。tab键是为我不知道的东西保留的吗

我该如何解决这个问题

除了将C-b映射到C-I之外,我还没有在tmux中真正配置任何东西

set -g prefix C-i
unbind C-b
bind C-i send-prefix
虽然选项卡和控件-
i
在GUI环境中通常是不同的,但它们在基于tty的环境(如终端仿真器)中生成相同的字符。该字符是U+0009,它是制表符控件字符。它在ASCII、UTF-8和许多其他编码中表示为单字节0x09。所有的“”(ASCII 0-31)都有键盘等价物,将控制键与另一个键(主要是字母,但也有一些符号)组合在一起。制表符控件字符由控件-
i
生成

通过查看
tmux show options-g | grep prefix
的输出,可以验证(至少)tmux是否认为C-i和Tab是相同的。您将看到它已将前缀设置为名为
Tab
的键,即使您在配置中将其指定为
C-i
。您还可以在
tmux列表键| grep prefix
的输出中注意到相同的规范化


如果您不想在向tmux内部运行的程序发送Tab时键入两次,则可能需要选择不同的前缀。

这是不正常的;这只是tmux内部Vim中的一个问题,还是tmux内部的其他程序受到影响(例如,在
xxd
中键入Tab C-d C-d是否只显示一个
09
字节)?您的tmux和Vim配置是什么样子的?这不仅仅是一个Vim问题。我在zsh中的制表符完成方面也有同样的问题。除了将C-b映射到C-I之外,我还没有在tmux中真正配置任何东西
set-g前缀C-i
unbind C-b
bind C-i send prefix
edit:很抱歉格式化您提到的xxd为我提供了Tmux内外的
Tab0000000:5461 62选项卡。