Chr*_*sen 14
如果其他所有内容都配置正确,那么它应该像放入以下内容一样简单.tmux.conf
:
set-option -g prefix Home
Run Code Online (Sandbox Code Playgroud)
注意:除非您手动"获取"您.tmux.conf
的文件,否则只有在重新启动tmux 服务器时才会对文件进行更改.要么干净地退出所有窗格,窗口(从而关闭所有会话并让服务器退出),要么使用tmux kill-server
,然后开始一个全新的会话.
这仅适用于终端仿真器发送转义序列,该转义序列与khome
terminfo数据库条目的字段匹配,以便在TERM
连接到tmux会话时生效的值(即TERM
" tmux外部" ).
您可以验证通过键入Home键(和换行符)到你的终端模拟器发送转义序列cat -v
(可以中止猫用Control- C一旦它表明你的序列).常见的回答可能是^[[1~
或^[OH
.
在TERM
环境变量告诉terminfo的基础课程(如TMUX)什么转义序列终端仿真器(据说)理解和生成.Home键生成的转义序列存储在khome
字段中.您可以使用tput或infocmp来提取字段的值(两者都使用当前值,TERM
除非它们被赋予覆盖的终端声明).
tput khome | cat -v ; echo
infocmp -1 | grep -F khome
Run Code Online (Sandbox Code Playgroud)
如果终端仿真器生成的转义序列与khome
声明TERM
值的条目不匹配,则可以通过以下几种方法尝试解决问题:
TERM
与终端仿真器发送和理解的内容更匹配的新值.terminal-overrides
可用于覆盖各个TERM
值的各个terminfo字段的选项.例如,如果您的终端仿真器没有为Home发送序列,但您可以配置一个序列,并且您的terminfo条目TERM
没有khome
字段,那么您可以告诉您的终端仿真器发送ESC [
1
~
,并使用termname:khome=\033[1~
您的terminal-overrides
值(哪个termname
是适合您的TERM值的模式).
例如在.tmux.conf中:
set-option -g terminal-overrides "xterm-color:khome=\033[1~"
Run Code Online (Sandbox Code Playgroud)
您可以使用它tmux server-info
来检查tmux的terminfo条目的运行时副本.
注意:如上所述(通过prefix
更改),让此更改生效的最简单方法是重新启动tmux服务器.