我目前在 OS X 上使用 iTerm2 和 byobu,我不知道如何在 OS X 上垂直分割屏幕。在 Linux 上,我可以使用 Ctrl+F2 垂直分割我的屏幕,但在 OSX 上,没有t 工作,这要归功于 Apple 的不同键盘。
我到处搜索解决方案,但我无法弄清楚。我可以使用 Shift+F2 水平分割屏幕,但我需要能够垂直分割。有没有人想出如何让 byobu 的键盘绑定与 Apple 电脑一起工作?
提前致谢。
看起来这个问题上有一个开放的错误。
我能够将 iTerm2 配置为在 OS X 上本地使用 byobu,以及在 Ubuntu 14.04 服务器上通过 ssh 远程使用。
使用:
首先,在您的 OS X 系统偏好设置中,编辑您的键盘设置并删除或更改任何可能与 byobu 冲突的快捷方式设置(即Ctrl+ F1- F12)。
这是一种解决方法,无需向FN键添加完整功能即可使用。这将允许您使用 byobu 转义键垂直拆分窗口:
开始byobu
。
通过运行设置您想要Ctrl的A行为:byobu-ctrl-a
. 我选择使用 Emacs 模式。
运行byobu-config
并选择或更改您的转义序列。我使用了新的默认值Ctrl+ S。F12关键也是一个转义序列
现在您可以使用转义序列发出命令。尝试F12then%或Ctrl+ sthen%垂直分割窗口。有关命令的完整列表,请尝试Ctrl+ sthen?或F12then ?。
您可以将一些键映射添加到您的 iTerm2 配置文件以获取CTRL、ALT、SHIFT和FN键来使用 byobu。这很乏味,但我完成了练习,它似乎奏效了。我认为没有使用 iTerm2 自动保存这些键映射的方法。
打开 Keys 窗格并手动添加以下键绑定。这是一个如何添加一个键绑定的示例:
CTRL + F2
[1;5Q
您可以通过参考tmux 源代码来确定此处未列出的任何键序列的控制字符。
对所有这些映射重复此操作,以使相应的 byobu 命令起作用:
[1;5Q
[1;6Q
[1;3D
[1;3C
[1;3A
[1;3B
[1;5R
[1;5S
[1;6R
[1;6S
[1;4D
[1;4C
[1;4A
[1;4B
[15;5~
[15;6~
[17;3~
[17;5~
[5;3~
[6;3~
[19;5~
[19;4~
[19;6~
[20;5~
[23;3~
[23;5~
[24;3~
[24;5~
[2;3~
为了让事情发挥作用,我们需要:
关于转义序列的其他一些参考:SO 链接和xterm-keys.c
tmux 1.8 和 tmux 1.9 ( Src,Src,Src)之间的 tmux 窗口默认目录看起来有些不同。如果您将 byobu 与 tmux 1.9 一起使用,您可以尝试将其添加到您的~/.byobu/keybindings.tmux
文件中,这样当您创建新窗口或垂直/水平拆分时,它们会在与当前窗格相同的目录中打开:
unbind-key -n F2
bind-key -n F2 display-panes \; new-window -c "#{pane_current_path}" -n -
unbind-key -n C-F2
bind-key -n C-F2 display-panes \; split-window -hc "#{pane_current_path}"
unbind-key -n S-F2
bind-key -n S-F2 display-panes \; split-window -vc "#{pane_current_path}"
unbind-key %
bind-key % display-panes \; split-window -hc "#{pane_current_path}"
unbind-key |
bind-key | display-panes \; split-window -vc "#{pane_current_path}"
按下F5以重新加载设置。