urxvt:如何像其他模拟器一样在选项卡之间切换?

Det*_*ant 2 urxvt

我想绑定Alt+<Number>键来切换 urxvt 中的选项卡。

有什么办法吗?

Dan*_*son 6

代码在/usr/lib/urxvt/perl/tabbed(至少在我的系统上)。

在第 312 行,控制键按下的子程序开始 ( sub tab_key_press)。它检查$event->{state}和一个关键掩码;默认情况下与urxvt::ShiftMask或 的组合urxvt::ControlMask

/usr/lib/urxvt/urxvt.pm显示其他可能性,例如Mod1Mask最有可能是Alt修饰符。

默认情况下,仅定义了在选项卡之间向左或向右移动的快捷方式。它读取当前位置 ( $idx),然后将其增加/减少一 ( $idx++/ $idx--),然后将此值设置为新的标签索引。

有了这些信息,很容易修改为

  1. 使用 Mod1Mask。
  2. 读取按下的键号。
  3. 将标签索引设置为读取编号。

(具有最少的编码经验,甚至不一定是 Perl;它主要是复制+粘贴)。