如果其他一切都配置正确,那么应该很简单,只需将其放入您的.tmux.conf
:
set-option -g prefix Home
注意:除非您手动“获取”您的.tmux.conf
,对文件的更改仅在以下情况下才会生效tmux server已重新启动。要么干净地退出所有窗格、窗口(从而关闭所有会话并让服务器退出),要么使用tmux kill-server
,然后开始新的会话。
仅当您的终端仿真器发送与khome
terminfo 数据库条目的字段TERM
当您连接到您的tmux会话(即TERM
“在外面”tmux).
为 Home 生成的转义序列
You can verify the escape sequence sent by your terminal emulator by typing the Home key (and a newline) into cat -v
(you can abort cat with Control-C once it shows you the sequence). Common responses might be ^[[1~
or ^[OH
.
预计回家的逃生顺序
The TERM
环境变量告诉基于 terminfo 的程序(例如tmux)您的终端模拟器(据称)可以理解并生成哪些转义序列。由 Home 键生成的转义序列存储在khome
场地。您可以使用tput or infocmp提取字段的值(两者都使用当前TERM
除非给它们一个压倒一切的终端声明)。
tput khome | cat -v ; echo
infocmp -1 | grep -F khome
修复生成的/预期的不匹配
如果您的终端仿真器生成的转义序列与khome
您申报的条目TERM
值,那么可以采取以下几项措施来尝试解决问题:
- 重新配置您的终端模拟器。
这可能涉及使用不同的程序、选择不同的仿真,或者只是(重新)定义按 Home 键时它发送的序列。
- 选择一个新的
TERM
与您的终端仿真器发送和理解的内容更匹配的值。
- 调整 terminfo 数据库条目以匹配您的终端仿真。
您可以使用infocmp提取现有的 terminfo 条目和tic编译您修改后的条目。
- Tell tmux调整 terminfo 数据库条目的运行时副本。
tmux提供了terminal-overrides
可用于覆盖各个 terminfo 字段的选项TERM
values.
例如,如果您的终端仿真器不发送 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~"
您可以使用tmux server-info
检查tmuxterminfo 条目的运行时副本。
注:同上(与prefix
更改),让此更改生效的最简单方法是重新启动您的tmux server.