我喜欢并排显示两个会话/窗口集,具有独立窗口切换功能,就像屏幕截图所示 - 现在我通过启动两个单独的 Konsole 实例来实现这一点,每个实例都有tmux attach -t session_name_here
和AwesomeWM就像任何 X 客户端一样,将它们并排放置。
实现这种布局的方式有一些缺点,主要是在可移植性方面:
- 它需要 X,因此不能从“纯”Linux 控制台使用它
- 在其他非平铺窗口管理器环境中(如 KDE 或 MacOS X)这样做可能不太好
是否可以仅使用 来完成类似的操作tmux
,而不依赖任何外部应用程序?
如何?
更新:将有关独立切换窗口的部分加粗
答案1
您可以使用嵌套的 tmux 会话:
┌───────────────────┐
│ ┌──────┐ ┌──────┐ │
│ │ │ │ │ │
│ │ │ │ │ │
│ │tmux 2│ │tmux 3│ │
│ └──────┘ └──────┘ │
│ tmux 1 │
└───────────────────┘
它相当笨拙(例如,需要prefixprefixn切换“内部”窗口),但在最近的 tmux 版本中,状态栏可以指示当前正在控制哪个实例。例如,我的配置有:
设置-g状态-bg颜色233 设置-g状态-fg颜色250 设置-g状态-左”#{?客户端前缀,#[fg=colour180]=#[fg=默认], }#S” 设置-g状态右“%b%d,%H:%M” setw -g 窗口状态格式 ' #I #W ' setw -g 窗口状态当前格式'#{?client_prefix,#[fg=colour0]#[bg=colour180],}#我 #W' setw -g 窗口状态当前背景颜色166 setw -g 窗口状态当前窗口颜色0 setw -g 窗口状态活动背景颜色166 setw -g 窗口状态活动-fg colour233
(#{?client_prefix}
需要 tmux ≥ v1.6)
答案2
启动 tmux 实例,然后Ctrl+b %
垂直拆分窗格。要在窗格之间切换,请使用Ctrl+b arrow key
答案3
替代方法:将整个东西颠倒过来——从 Vim 切换到 Neovim,使用:terminal
,然后让你的终端里面vim分割窗口:
(退出终端输入模式的默认快捷键是C-\ C-n,或者您可以单击另一个缓冲区。)