“退出时间0” tmux设置的后果?


16

我发现在里面运行(neo)vim时tmux,转义键被延迟了。这是通过固定

set -sg escape-time 0

在我的.tmux.conf。据推测,这将无法使用ESC作为“元”键。假设我一直使用带有Alt键作为“元”的键盘,我想知道设置可能带来哪些潜在的不良后果。

Answers:


15

设置escape-time为零会干扰tmux识别功能键。它的手册页

escape-time time
设置以毫秒为单位的时间,tmux在输入转义符后等待的时间,以确定它是否是函数或元键序列的一部分。默认值为500毫秒。

术语“功能键”适用于具有该格式的任何内容(包括按tmux滚动所使用的分页和光标键)。如果您从不远程工作,则500毫秒可能会过多。本地连接可以使用20毫秒。ESCDELAYncurses中的类似值默认为1000毫秒;只有极少数用户认为有必要进行更改。


嗯...箭头键和pageup似乎在tmux中都可以正常工作,即使将转义时间设置为0
Michael Goerz 2015年

1
该文档指的是tmux处理的键绑定(不是tmux内部运行的应用程序)。
Thomas Dickey

@AntoineCotten您可以扩展一下吗?我以为Meta在与非功能键配对之前什么也不会发送,这时它将在“同一时间”发送转义码和键(比任何合理的轮询时间段延迟少,假设它轮询而不是使用中断或)。我遵循自己的直觉,从未将转义超时设置为低于10,主要是因为我希望如果默认值过高,它将导致问题。
约翰·P

Meta的行为取决于终端。 tmux对此没有任何控制权,但确实知道xterm的特殊键(在表中)。xterm中普通键的Meta可以执行某些操作(eightBitInput在手册中查找)。对于其他终端,它可能会执行某些操作,但是通常没有记录。
托马斯·迪基

@JohnP @ThomasDickey我之前评论说,设置escape-time为0会干扰终端仿真器中的Meta命令。我想进行更正,这仅是因为macOS终端Esc用作Meta键。使用其他键(例如Alt)没有问题。对于误导(删除)的评论表示歉意。
Antoine Cotten
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.