对于普通用户来说,终端窗口可能令人困惑且难以理解。但是,随着您对 Linux 终端的了解越来越多,您很快就会意识到它是多么高效和强大。您也很快就会希望它变得更高效,那么有什么比在您的终端中放入更多终端更好的方法来改进您的终端呢?
终端复用
终端的众多优势之一是它是一个具有集中控制的集中式界面。它是一个窗口,可让您访问数百个应用程序,而您与每个应用程序进行交互所需的一切就是键盘。但是,现代计算机几乎总是有多余的处理能力,而现代计算机用户喜欢多任务处理,因此一个窗口用于数百个应用程序可能会非常受限制。
针对此缺陷的常见答案是终端复用:将虚拟终端窗口分层堆叠在一起,然后在它们之间移动的能力。借助复用器,您可以保留集中控制,但可以获得在多任务处理时交换界面的能力。更好的是,您可以在终端内拆分虚拟屏幕,以便可以同时显示多个屏幕。
选择合适的复用器
某些终端提供类似的功能,具有选项卡式界面和拆分视图,但存在细微差异。首先,这些终端的功能取决于图形桌面环境。其次,许多图形终端功能需要鼠标交互或使用不方便的键盘快捷键。终端复用器的功能在文本控制台和图形桌面中同样有效,并且快捷键是围绕常见的终端序列方便地设计的。
有两种流行的复用器:tmux 和 GNU Screen。它们的功能相同,并且大多具有相同的功能,尽管与每个复用器交互的方式略有不同。本文是 GNU Screen 的入门指南。有关 tmux 的信息,请阅读 Kevin Sonney 的 tmux 简介。
使用 GNU Screen
GNU Screen 的基本用法很简单。使用 screen
命令启动它,您将被置于 Screen 会话的第零个窗口中。在您决定需要新提示符之前,您可能几乎不会注意到任何变化。
当一个终端窗口被活动占用时(例如,您启动了像 Vim 或 Jove 这样的文本编辑器,或者您正在处理视频或音频,或者运行批处理作业),您可以直接打开一个新的窗口。要打开一个新窗口,请按 Ctrl+A,释放,然后按 c。这将在现有窗口之上创建一个新窗口。
您会知道您在一个新窗口中,因为您的终端看起来除了默认提示符之外没有任何内容。当然,您的其他终端仍然存在;它只是隐藏在新终端后面。要遍历您打开的窗口,请按 Ctrl+A,释放,然后按 n 表示下一个或 p 表示上一个。仅打开两个窗口时,n 和 p 在功能上执行相同的操作,但是您始终可以打开更多窗口(Ctrl+A 然后 c)并在它们之间切换。
分屏
GNU Screen 的默认行为更像移动设备屏幕而不是桌面:您一次只能看到一个窗口。如果您使用 GNU Screen 是因为您喜欢多任务处理,那么只能专注于一个窗口似乎是倒退了一步。幸运的是,GNU Screen 允许您将终端拆分为窗口内的窗口。
要创建水平拆分,请按 Ctrl+A,然后按 Shift+S(大写)。这会将一个窗口放在另一个窗口之上,就像窗格一样。但是,拆分空间是未指定的,直到您告诉它要显示什么。因此,在创建拆分后,您可以使用 Ctrl+A 然后 Tab 移动到拆分窗格中。到达那里后,使用 Ctrl+A 然后 n 浏览所有可用窗口,直到您想要显示的内容显示在拆分窗格中。
您还可以使用 Ctrl+A 然后 |(那是管道字符,或大多数键盘上 \ 键的 Shift 选项)创建垂直拆分。
自定义您的 GNU Screen
GNU Screen 使用围绕 Ctrl+A 的快捷键。根据您的习惯,这可能会感觉非常自然,或者非常不方便,因为您无论如何都使用 Ctrl+A 移动到行首。无论哪种方式,GNU Screen 都允许通过 .screenrc
配置文件进行各种自定义。您可以使用以下命令更改触发快捷键(称为“转义”快捷键)
escape ^jJ
您还可以添加状态行,以帮助您在 Screen 会话期间保持方向感
# status bar, with current window highlighted
hardstatus alwayslastline
hardstatus string '%{= kG}[%{G}%H%? %1`%?%{g}][%= %{= kw}%-w%{+b yk} %n*%t%?(%u)%? %{-}%+w %=%{g}][%{B}%m/%d %{W}%C%A%{g}]'
# enable 256 colors
attrcolor b ".I"
termcapinfo xterm 'Co#256:AB=\E[48;5;%dm:AF=\E[38;5;%dm'
defbce on
始终提醒哪个窗口具有焦点活动以及哪些窗口具有后台活动,这在打开多个窗口的会话期间特别有用。这有点像终端的任务管理器。
下载速查表
当您学习 GNU Screen 时,您将有很多新的键盘命令要记住。有些您会立即记住,但是那些您不经常使用的命令可能很难跟踪。您始终可以使用 Ctrl+A 然后 ? 在 GNU Screen 中访问帮助屏幕,但是如果您喜欢可以打印出来并放在键盘旁边的东西,下载我们的 GNU Screen 速查表。
学习 GNU Screen 是提高您使用您最喜欢的 终端模拟器 的效率和速度的好方法。试试看!
评论已关闭。