如何在Mac上垂直分割终端以执行不同的动作?


47

偶尔我会看到人们在Mac上使用看起来像终端的东西,除了在似乎是一个窗口的地方,他们有一个垂直的“拆分”。在拆分的一方面,他们有emacs或其他东西,而在另一方面,他们有其他东西。

如何在同一个终端窗口中同时发生两个独立的事件,并用垂直分割进行划分?它看起来很像拆分窗格,但拆分窗格是水平拆分,并且操作已在窗格中镜像。


Mac中的内置终端仍然不支持垂直拆分?
morpheus

Answers:


29

可能是GNU屏幕带有垂直分割

图片

它应该已经安装在Mac上,输入screen终端。

您也可以单独使用emacs进行此操作。


嗯...我是垂直分割emacs的,但是好像是在镜像我的动作...在这个分割视图中,是否有让emacs并排运行的两个“实例”?
东尼·史塔克

10
键入如何screen使其成为拆分屏幕?
IgorGanapolsky '16

@IgorG。您需要获取屏幕的垂直拆分插件:fungi.yuggoth.org/vsp4s
Samy Bencherif

21

此处下载适用于macOSX的iTerm2 。

使用cmd + d垂直分裂,cmd + shift + d对于水平分割

要以左/右或上/下方式在垂直分割之间导航,请使用cmd + [cmd + ]

由于这些功能,我推荐了iTerm 2 。

另外,我喜欢按时出现的自动完成功能 cmd + ;

简而言之,功能包括:

  • 分割窗格
  • 热键窗口
  • 搜索
  • 自动完成
  • 无鼠标复制
  • 粘贴历史
  • 即时重播
  • 可配置性
  • 全屏
  • 256种颜色
  • 类Unix
  • 可读性
  • 鼠标报告
  • 低吼支持
  • 博览会标签
  • 标记的个人资料
  • 多种语言

1
欢迎来到超级用户。请在答案中包含功能,而不要依赖链接。如果它破裂了,您的答案也将如此。
2013年

1
cmd + d,就是那个!
亚历山大·米尔斯

在终端中,cmd + d在终端中进行水平拆分
Christia

哦,很多功能。这就是为什么我更喜欢Terminal。
KcFnMi

我认为iTerm比终端更好。
neo7

20

如果您希望全屏使用终端窗口,则可以使用macOS的内置屏幕拆分功能,如下所示:

  1. 打开两个终端窗口
  2. 全屏切换终端窗口之一
  3. 激活“任务控制”(默认:F3
  4. 将第二个终端窗口拖到第一个终端的全屏空间
  5. 享受垂直分割的全屏终端窗口

您可以使用- [- 在术语之间切换键盘焦点]


是的,很酷,但是我不能在同一窗口中添加多个选项卡超过2个
。– Dexter

你真是天才!✌️👏🙏🏻🎓–
SamSol

10

Tmux允许您将屏幕垂直或水平分成两半。

# install tmux
brew install tmux          # on mac
sudo apt-get install tmux  # on debian

# run it
tmux

# split the screen vertically using this shortcut
CTRL+B %

# split the screen horizontally using this shortcut
CTRL+B "

# switch between screens using this shortcut
CTRL+B o

tmux分屏


这样好得多,因为我们无需安装其他终端应用程序
Finn

6

John T可接受的答案(GNU屏幕,使用进行访问screen)是我所需要的,但是我需要花几分钟学习一些基本知识以使其有用。这是我在键绑定上需要的快速入门(直接在手册页中)-请注意,您需要安装GNU版本以进行垂直拆分(在我的Mavericks中的FAU版本之后列出)。

另外,我强烈建议您浏览man screen一下适合您的需求。您总是可以使用屏幕启动另一个终端,然后阅读手册...

屏幕版本4.00.03(FAU)2006年10月23日

(包含在Mavericks中,可能与之前的版本相似)

       下表显示了默认的键绑定:

       Ca'(选择)提示输入要切换的窗口名称或编号。

       Ca”(窗口列表-b)
                                 显示所有可供选择的窗口的列表。

       Ca 0(选择0)
        a | a |
       钙9(选择9)
       Ca-(选择-)切换到窗口号0-9或空白窗口。

       Ca选项卡(焦点)将输入焦点切换到下一个区域。另请参见仅拆分,删除。

       Ca Ca(其他)切换到先前显示的窗口。请注意,此绑定默认
                                 键入两次,除非被覆盖。例如,如果
                                 您使用选项“ -e] x”,此命令将变为“]]”。

...

      Ca S(拆分)将当前区域拆分为两个新区域。

...

       钙?(帮助)显示按键绑定。

       Ca \(退出)杀死所有窗口并终止屏幕。

...

       Ca *(显示器)显示所有当前连接的显示器的列表。

屏幕版本4.02.01(GNU)2014年4月28日的其他项目

sudo port install screen刚刚使用安装)

上面在4.00.02(FAU)版本中列出的所有项目,以及:

      Ca S(分割)将当前区域水平分割为两个新区域。另请参见
                                 移开,集中注意力。

与上面相同,但是这表明它是水平的。...

       钙| (split -v)将当前区域垂直拆分为两个新区域。


2

与John T关于屏幕的答案非常相似,但是您也可以使用tmux(http://tmux.sourceforge.net/)完成此操作。与屏幕相比,tmux的好处是,即使您可以从软件包中获得版本,垂直拆分功能也可以提供(Macports或Homebrew适用于Mac,apt-get适用于ubuntu等)。


1

要在emacs中拆分它,请使用ctrl + x, b(将Control和x一起,然后按b)切换到另一个已经打开的缓冲区。您也可以单击底部的文件名以切换到另一个缓冲区。

这是调整窗口大小并使用emacs 链接文本执行更多操作的快捷方式列表


备忘单的绝佳链接!感谢分享。
gbc

我认为此快捷方式在Mac终端中没有任何作用。
IgorGanapolsky '16

这个命令根本不做分割,只是切换缓冲区。此外,链接已死。
8bittree '16

0

如何在同一个终端窗口中同时发生两个独立的事件,并用垂直拆分将其分开?

您可以说它基本上只是在同一窗口中运行两个程序。

在OS X Snow Leopard 内置了水平分割,但这确实是镜像功能。另请参见Mac OS X Snow Leopard拆分终端窗口


我的意思更多的是“如何实现此效果”,而不是“它如何工作”。而且我不认为屏幕是我的答案;我希望他们并肩而独立。
托尼·史塔克
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.