vi中,如果发出命令:sp,则屏幕将分为两个“视图”,使您可以从同一终端编辑多个文件。

沿着同一行,是否可以在同一终端中打开多个外壳?

#1 楼

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


要垂直拆分:先按ctrla然后|。
要水平拆分:先按ctrla然后S(大写字母's')。
要拆分,请先按Ctrla再选择Q(大写的“ q”)。
要从一个切换到另一个,请先按Ctrla再选择Tab


注意:拆分后,您需要进入新区域并通过ctrla然后通过c启动新会话。您可以使用该区域。

编辑,基本的屏幕用法:


新终端: ctrla然后c。
下一个终端:ctrla然后是空格。
上一个终端:ctrla然后是退格键。
第N个终端ctrla然后是[n]。 (适用于n∈{0,1…9})

使用列表在端子之间切换:ctrla然后“(当10个以上端子时有用)

将ctrla发送到基础终端ctrla,然后按a。


评论


Tmux也会这样做,并且许多终端程序具有拆分的视图和选项卡。

– Shawn J. Goff
2011-2-15在16:51

@AaronNewton ctrl + a然后释放所有然后shift + s的命令(不知道大写锁定,我的被禁用)

– shellholic
2011-12-5 12:43

Ctrl A Shift S拆分屏幕,然后Ctrl A Tab切换到另一个拆分,并且Ctrl A c创建bash提示。无论如何,在启动屏幕时是否可以自动运行这些命令,因此我们不必一直运行这些命令。

–迈克尔·巴特勒(Michael Butler)
2012-09-19 14:22

哪个版本的屏幕可以垂直分割?我安装的版本是4.00.03,与从我检查过的所有镜像中下载的最新版本相同。

–布莱恩·范登堡(Brian Vandenberg)
13-10-14在20:53



如何使一个垂直窗口比另一个垂直窗口宽?我想要30 | 30 | 40的比例。

– mpen
15年3月18日在22:58

#2 楼

尝试使用tmux(Terminal MUltipleXer):


首页



,并了解session之间的区别,windowpane


评论


屏幕vs tmux? tmux可能更适合高级用法,并且更现代,但是屏幕无处不在并且可以正常工作。

–user606723
13年4月11日在21:31

其他出色的tmux帮助资源包括:简介,配置,入门和备忘单。

–not2qubit
17年12月10日在10:49

@ user606723除其他外,Tmux配置实际上是可读的;不像狗滚过键盘。当然,您可以使用像byobu这样的包装器(包装两个终端多路复用器),但是Tmux似乎在配置方面比其他方面更胜一筹。几年前就已经很出色了。屏幕需要用于拆分两个方向的补丁,而Tmux可以直接使用它。最后但并非最不重要的一点是,许可证可能是Tmux或Screen的参数,具体取决于您所处的位置。

– 0xC0000022L
18年5月7日在20:59

截至2019年,@ user606723不再适用。 Tmux存在时,相对较新的Fedora 30安装缺少屏幕。

–素拉。
19年6月18日在11:15

Tmux是一个很好的建议,尽管该答案缺少该问题的实际答案(只是链接到Wiki和docs并不是答案)。

–捷克文
20年4月23日在9:39

#3 楼

如评论中所述,除屏幕外,另一个不错的终端多路复用器是tmux。您可以参考手册以获取完整的描述和命令参考。开始的一些基本操作是:


垂直拆分屏幕:Ctrlb和Shift5

水平拆分屏幕:Ctrlb和Shift“

在窗格之间切换:Ctrlb和o

关闭当前窗格:Ctrlb和x


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


创建窗口:Ctrlb和c

切换到下一个窗口:Ctrlb和n

切换到上一个窗口:Ctrlb和p

销毁当前窗口:Ctrlb和Shift7



评论


请注意,您可以将tmux的前缀更改为比更容易访问的前缀。

–user26112
13年4月7日在12:04



没有此工具的手动页面命令?所以我可以写,tmux --help

–罗德里戈
20-10-5在9:19

#4 楼

如果您想要一个仅分割端子¹的程序,则可以使用splitvt。有些程序可以拆分终端,除此之外还可以执行其他许多操作,例如Screen,Tmux,Emacs等。。。

评论


+1,关于终端如何真正被分割的好点。

–贾斯汀·埃斯蒂尔(Justin Ethier)
2011-02-21 14:37

#5 楼

除了在Screen和Tmux上的出色建议之外,如果您正在使用某种窗口管理器,您可能会对Terminator感兴趣,您可以水平或垂直分割方式,还可以使用制表符等等。以下是来自作者网站的功能列表:


将端子排列在网格中
标签
拖放端子的重新排序
许多键盘快捷键
保存多种布局和GUI配置文件通过GUI首选项编辑器
同时键入任意组终端

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

最重要的是,您可以组合使用Terminator带有Screen / Tmux。

评论


请注意,在编辑器的两个窗口之间进行复制粘贴时,使用终结符拆分会不太方便。

– gb。
2012年8月7日下午2:00

将窗格分组后,您可以一次编辑多个窗格(或一次选择所有窗格),也可以编辑用于窗格切换的快捷方式。我有ctrl-shift-h / j / k / l用于在窗格之间移动,还有ctrl-(shift)-tab用于在选项卡之间切换,它确实很棒。

– sjas
16年2月13日在19:57

好吧,我们可以点击它们来专注;但是仍然找不到找到将终端均匀分布在网格中的方法,这只是手工解决的麻烦,我还需要动态添加终端,因此要在均匀分布的网格中更新它们,有什么想法吗?

–水瓶座力量
16年4月29日在22:24

终结器是X-windows程序,而不是tmux和screen这样的命令行程序。 OP专门两次提到同一终端,因此Terminator或tilix(如@sjas所述)不是很好的建议。如果您正在与没有X服务器的远程服务器进行ssh会话,则您甚至将无法运行这些工具。

–haridsv
19年5月16日在11:39

#6 楼

Konsole for KDE具有内置功能:

Shift + Tab将循环通过拆分视图
Shift +向左箭头/向右箭头将在选项卡/视图之间循环当前视图

评论


您是否知道在Konsole中的分割视图窗格之间切换的键盘快捷键?

– LangeHaare
17年11月22日在18:00

@LangeHaare SHIFT + TAB将在视图窗格中循环

–chaptuck
18年2月19日在19:51

#7 楼

使用终止符。

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

这是唯一的终端多路复用器,其复制粘贴可以在窗口的窗格中正常工作。

更新:tilixterminator的替代产品,几乎与终结符(在复制粘贴也可以正常工作的情况下)完全一样。经过评估后,我仍然坚持使用terminator,但是由于更好的标签处理和更轻松的配置(从我的POV中进行)。

评论


终结器在技术上不是多路复用器:“终端多路复用器是一种软件应用程序,可用于多路复用多个虚拟控制台,从而允许用户访问单个终端窗口或远程终端会话内的多个单独的终端会话。” (来自维基百科)

–erb
16-2-13在13:08



它也不是唯一可以在窗格内正确执行复制粘贴功能的多路复用器,而tmux可以通过适当的配置来做到这一点。

–erb
16年2月13日在13:10

@erb-如果我不希望在单击三次时选择跨越多个端子的完整行,那究竟需要配置什么?为什么不是理智的默认设置?

– sjas
16年2月13日在13:38

您可以在tmux中使用copy-mode进行复制,如果您想使用鼠标,则只需要启用鼠标支持,我的配置在这里:github.com/ErikBjare/dotfiles/blob/master/home/。 tmux /…如果要在复制模式下使用系统剪贴板,请参见:unix.stackexchange.com/questions/131011/…

–erb
16-2-13在13:46



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

–erb
16年2月14日在1:04

#8 楼


Guake + Byobu

我在这里写了一个更完整的答案。
我是Guake的用户,里面装有Byobu,默认情况下使用tmux(可能比screen好) )作为后端。
三个步骤


安装它们(在Ubuntu / Debian上不需要PPA,请检查其他发行版)
 sudo apt install guake byobu



将其添加到可用的shell中(如Guake Github问题中所述):
在Guake首选项(guake-prefs)上,选择Byobu作为默认解释器:



可选


Guake

取消选中“显示标签栏”,因为您将使用Byobu:

如果快捷方式不起作用,请尝试禁用可能会干扰的Guake快捷键(在我的情况下为Ctrl + F2进行垂直分割):





Byobu

通过Shift + F1或此出色的截屏视频学习快捷方式。
通过apropos byobu了解byobu终端命令可用的

使用Fn Midnight Commander上的按键使用Alt +Nº或Shift + F12禁用byobu F键。





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


评论


Guake现在还支持本地终端拆分,包括拆分热键。

– phil294
20 Nov 17 '17:54

大!自2018年以来。我更喜欢Byobu / tmux,它不仅具有拆分窗口的功能。

– Pablo A
20 Nov 17 '19:18

#9 楼

尝试对GNU屏幕进行垂直分割
此补丁为当前版本的GNU屏幕提供了垂直分割功能。该功能旨在以与屏幕现有的split命令相同的方式起作用,但是要垂直而不是水平地划分区域。两种形式的分割都可以以所需的任何组合/数量/顺序一起使用。相似的东西预计很快就会出现在GNU Screen 4.1中,并且在该邮件列表线程的CVS中已经可用(并且已包含在从4.0.3-10开始的Debian和Ubuntu屏幕软件包中)。另外,最近一个名为ScreenWM的项目专门设计用于与vsplit修补的屏幕配合使用(请查看!)。

评论


更具体地说,Ctrl + |立即在Ubuntu中拆分屏幕。

–乔纳坦·厄斯特罗姆(JonatanÖström)
16-10-23在18:17

#10 楼

Vim也可以用作粗略的终端多路复用器:
:terminal打开一个水平拆分终端,:vertical terminal打开一个垂直拆分终端。
和往常一样,命令可以分配给键盘快捷键。

评论


有趣的是……这仅适用于最新版本。

–贾斯汀·埃斯蒂尔(Justin Ethier)
20年11月9日15:35