如何将终端拆分为多个“视图”?

Jus*_*ier 304 shell gnu-screen terminal

从vi,如果您发出命令:sp,屏幕将分成两个“视图”,允许您从同一终端编辑多个文件。

同样,有没有办法在同一个终端中打开多个 shell?

she*_*lic 409

您可以在screen终端多路复用器中进行。

  • 垂直拆分:ctrlathen |。
  • 水平分割:ctrla然后S(大写's')。
  • 取消拆分:ctrla然后Q(大写'q')。
  • 从一个切换到另一个: ctrla然后tab

注:分开后,你需要进入新的区域,并通过启动一个新的会话ctrla,然后c才能使用该区域。

编辑,基本屏幕使用:

  • 新终端:ctrla然后c。
  • 下一个终端:ctrlathen space。
  • 上一个终端:ctrlathen backspace。
  • ctrla然后是第N 个终端[n]。(适用于 n?{0,1…9})
  • 使用列表在终端之间切换:ctrlathen " (当超过 10 个终端时有用)
  • 然后发送ctrla到底层终端。ctrlaa

  • Tmux 也这样做,许多终端程序具有拆分视图和选项卡。 (19认同)
  • `Ctrl A Shift S` 分割屏幕,然后 `Ctrl A Tab` 切换到另一个分割,并且 `Ctrl A c` 创建一个 bash 提示。无论如何,在启动“screen”时是否让这些命令自动运行,这样我们就不必一直运行这些命令。 (5认同)
  • @AaronNewton `ctrl+a` 然后释放所有内容,然后`shift+s`(不知道大写锁定,我的是禁用的) (4认同)
  • 哪个版本的屏幕垂直分割?我安装的版本是 4.00.03,这与我检查过的所有镜像的最新可用下载版本相同。 (2认同)

小智 127

尝试 tmux(终端多路复用器):

tmux 截图

并了解session,window和之间的区别pane: 多路嵌套

  • 屏幕 vs tmux?tmux 可能更适合高级使用并且更现代,但是 screen 安装在任何地方并且工作正常。 (22认同)
  • 其他很棒的 `tmux` 帮助资源是:[intro](http://www.hamvocke.com/blog/a-quick-and-easy-guide-to-tmux/), [config](http://www .hamvocke.com/blog/a-guide-to-customizing-your-tmux-conf/), [primer](https://danielmiessler.com/study/tmux/) 和 [cheat-sheet](https:// /gist.github.com/MohamedAlaa/2961058)。 (2认同)

dka*_*dis 77

正如评论中提到的,除了 screen 之外,另一个很好的终端多路复用器是tmux。您可以参考手册以获得完整的描述和命令参考。一些入门的基本操作是:

  • 垂直分屏:Ctrlb和Shift5
  • 水平分屏:Ctrlb和Shift"
  • 在窗格之间切换:Ctrlb和o
  • 关闭当前窗格:Ctrlb和x

您可以通过拆分窗格来实现更复杂的布局。您还可以拥有多个带有窗格的窗口并在它们之间切换。

  • 创建窗口:Ctrlb和c
  • 切换到下一个窗口: Ctrlb和n
  • 切换到上一个窗口:Ctrlb和p
  • 销毁当前窗口:Ctrlb和Shift7

  • 请注意,您可以将 tmux 的前缀更改为比 <Cb> 更容易访问的内容。 (3认同)

Gil*_*il' 23

如果您想要一个只拆分终端¹的程序,可以使用splitvt。有一些程序可以拆分终端并做很多其他的事情,比如 Screen、Tmux、Emacs 等等。

¹这是您要拆分的终端,而不是外壳。


ale*_*ani 21

除了关于 Screen 和 Tmux 的优秀建议,如果您正在使用某种窗口管理器,您可能对Terminator感兴趣,您可以水平或垂直拆分样式,以及选项卡等等……这里是作者网站上的功能列表:

  • 在网格中排列终端
  • 标签
  • 拖放终端重新排序
  • 大量的键盘快捷键
  • 通过 GUI 首选项编辑器保存多个布局和配置文件
  • 同时打字到任意终端组

查看项目站点上的屏幕截图。

最重要的是,您可以将 Terminator 与 Screen/Tmux 结合使用。

  • 请注意,在编辑器的两个窗口之间进行复制粘贴时,使用 Terminator 拆分会不太方便。 (2认同)

MrU*_*ser 10

KDE 的 Konsole有一个内置功能:

  • Ctrl+(向左/向右拆分视图

  • Ctrl+)拆分视图顶部/底部

  • Shift+Tab将循环浏览拆分视图

  • Shift+ Left Arrow/Right Arrow将通过选项卡/视图循环当前视图

  • Ctrl+ Shift+X关闭当前视图


sja*_*jas 8

使用终结符。

如果您使用主流发行版,应该可以通过您最喜欢的包管理器获得。

它是唯一的终端多路复用器,可以在窗口中的窗格内正常进行复制粘贴。

更新:tilix是一种terminator几乎完全与终止符相同的替代方案(并且复制粘贴也能正常工作)。在对其进行评估后,terminator由于更好的选项卡处理和更简单的配置(来自我的 POV),我仍然坚持使用。

  • 嗯?为什么不?您可以使用与在终止符中选择几乎完全相同的方式(如果不完全相同)使其工作。出于同样的原因,我曾经是一名终结者用户,一旦我完成配置,我就再也没有回头,现在可以通过切换到更轻量级的终端模拟器来节省相当多的 RAM 和其他资源,因为复制是唯一让我烦恼的事情。 (2认同)

Pab*_*o A 7

Guake + Byobu

在这里我写了一个更完整的答案。

我是Guake 的一个快乐用户,里面有Byobu,默认情况下它使用tmux(可能比更好screen)作为后端。

三步走

  1. 安装它们(在 Ubuntu/Debian 上不需要 PPA,检查其他发行版)

     sudo apt install guake byobu
    
    Run Code Online (Sandbox Code Playgroud)
  2. 将其添加到可用的 shell(如Guake Github 问题中所述):

     which byobu | sudo tee -a /etc/shells
    
    Run Code Online (Sandbox Code Playgroud)
  3. 在 Guake 首选项 ( guake-prefs) 上选择 Byobu 作为默认解释器:

    截屏

可选

  1. 瓜克

    1. 取消选中“显示标签栏”,因为您将使用 Byobu:
      图片
    2. 如果快捷方式不起作用,请尝试禁用可能会干扰的 Guake(在我的情况下Ctrl+F2用于垂直拆分): 截屏
  2. 屏风

    1. 使用Shift+F1或这个优秀的截屏视频学习快捷键。
    2. 学习可用的 byobu 终端命令 apropos byobu
    3. 要在 Midnight Commander 上使用 Fn 键,请使用Alt+Nº或Shift+F12禁用 byobu F 键。

截屏

  • 为了获得更多的快乐,请使用 zsh 和oh-my-zsh和
  • 使用此测试驱动器测试您的终端设置。
  • 我将本地 byobu/tmux 转义序列 ( F9) 更改为Ctrl + h这样它不会干扰远程服务器上的 tmux。