在使用TMUX入门之前,让我们审阅一些问题来渗透TMUX对您有利:
您是否在不同的选项卡或Windows中使用多个终端导航文件,编辑文本,编译和运行代码,尾部日志文件,将代码推到存储库,并运行一次性adhoc命令?
您是否一次在多个项目上工作,每个项目都有自己的工作流程和环境要求,并且通常必须切换上下文?
您是否曾与您正在运行和监视的任务中间与远程SSH会话断开连接?
Tmux是终端多路复用器。您可以运行多个终端程序中的tmux,所有这些都可以从运行tmux的单个终端访问。这称为TMUX会话。您可以拥有多元化TMUX会话,为您正在处理的每个项目说一个。你从TMUX会议中垂山了,后来再次达到它。当您在TMUX会话中运行程序时,即使您从会话中分离,会话也保持完好并继续策略。您可以在前一天开始您离开的位置,或者您甚至可以从不同的计算机访问会话。
如果您使用远程桌面连接使用远程服务器,您将熟悉如何在TheServer中打开的应用程序,因为即使您断开连接也是如此。然后,您可以通过重新连接来恢复上位。您甚至可以使用其他客户端或其他计算机重新连接到RemotEdesktop。 TMUX可帮助您实现类似的终端会话结果。
运行tmux命令时,tmux启动一个服务器process,它尚未运行,创建tmux会话。 TmuxServer在系统中运行作为后台进程,并管理在TMUX内部运行的所有第六位。如果使用Tmux命令,您可以在ThetMux服务器中创建其他会话。 tmuxsession是一组相关的Tmux Windows。想想你打开的所有终端技术,以获得特定项目的开发工作流程。所有这些都可以在TMUX会话中将其分组为Windows.a Tmux窗口包括一个或多个窗格。每个窗格都像Aterminal一样。窗格可以垂直组织,地平地,均匀。想想在右窗格上的相关日志文件作为Anexample上挂钩的编辑,编译和执行代码。在任何给定的时间,都有一个有效窗格,接受命令类型。您可以根据需要在窗格,Windows,AndSessions之间切换。
如果您在任何其他系统或环境中,请参阅Tmux Wiki:安装安装详细信息。
在本次会话中运行一些程序。也许是尾部日志文件。这将有助于将您分离和重新连接到会话的后续步骤。
TMUX将保持您的会话完整。您的所有程序都在服务器上继续运行。要将您的终端附加到客户端返回现有的TMuxSession,请输入以下命令:
请注意,没有必要键入tmux commandsin full。您可以使用命令的任何明确的缩写。 Forexample,Tmux Det和Tmux分别分别相当于Tmux分离和Tmux附件。
默认情况下,新会话名为0,1等。要为会话选择另一个名称,请使用以下命令启动新会话:
这里<会话名称>表示sessionyou选择的名称。您还可以使用此命令重命名现有会话:
如果您有多个Tmux会话运行并且想要针对重命名的缺陷会话,则可以使用-t选项thopecify您想要的会话名称,如下所示:
当多个TMUX会话运行时,-T选项对于将特定的tmuxSession附加。默认情况下,Tmux附加到最近使用的SENSKET附加到NOT附加的最近使用。您可以附加到这样的特定会话:
有时在附加到TMUX会话时,您可能希望分离其他客户端连接到它。可以通过以下命令实现,可以实现:
虽然您在TMUX会话中,但您也可以使用键序列C-B $更改TheatTached会话的名称,其中键序列为会话的新名称。密钥序列C-B $绑定到您在上面看到的重命名命令。敏捷地,密钥序列C-B D绑定到Detach命令。要了解Tmux密钥绑定和Commmands如何工作,请阅读下一步两部分。
将终端作为客户端附加到TMUX会话后,AllKeyStrokes将发送到在Checurrent Tmux窗口的活动窗格中运行的程序。默认情况下,它是您的shell。对于CONSTROL TMUX本身的关键序列,Muse按下称为前缀密钥的特殊键序列。默认情况下,前缀键是C-B。这里C表示Ctrl修改器键,即,toenter c-b,按住Ctrl键,然后按住并释放B键,最后发布Ctrl键。当输入前缀键时,另一个击键或键序列的Tmuxwaits以确定需要执行哪个tmuxcommand。例如,当您输入C-B $重命名当前会话时,C-B是配置TMUX您要调用TMUX命令的前缀,而thenthe $ keystroke告诉tmux要调用tmux重命名命令。
关键序列C-B?显示关于他们所做的内容的简短描述的关键绑定列表。输出显示在“活动”窗格中的“视图”模式下。视图模式中的窗格具有自己的键核,Don' t需要前缀键。默认情况下,视图模式Hasemacs可用于导航输出的密钥绑定。但是,ITCAN也将配置为使用VI密钥绑定。
使用任何时间绑定绑定,它们运行底层Tmux命令。对于示例,C-B C运行NewW命令即可创建一个新窗口。使用TMUX Newcommand创建新会话时,命令可以直接从shell作为yousaw运行。就像任何其他UNIX命令一样,Tmux命令具有零ormore命令行选项,可能会或可能不接受参数。 Forexample,您看到之前的Attach命令用于分离连接的任何其他客户端。此选项不需要参数。附件命令也接受另一个选项 - 需要一个参数来指定要附加到的目标会话outwant的名称。
您可能主要想要使用关键绑定来操纵Tmux Becausethey是方便的。但是,TMUX命令可能尤其是要执行仅通过选项支持的任务。如果要编写Tomanipulate Tmux,则ThetMux命令也很有用。
到目前为止,您可以从外壳运行tmux命令。其中还可以在TMUX中提供的交互式命令提示符,您可以使用c-b:。此提示接受Tmux命令。 forexample,c-b:neww在contableSession中创建一个新窗口。以这种方式运行的一些TMUX命令在活动窗格中显示“输出Inthe视图模式”。例如,C-B:LSSHOWS所有可用会话的列表。
您可以使用C-B C或C-B:Neww在会话中创建新窗口。每个窗口从0开始编号。在第一个可用索引处创建EveryNew窗口。这意味着,如果窗口号列表中存在空白,则新窗口将占用空白中的漏斗可用数字。因此,新窗口创建了会话的当前窗口。当前窗口由*后缀在其名称中标识为*后缀,上一个窗口以其名称的姓名为ideedied。
如果要创建新窗口但不使其成为当前窗口,则可以使用如此如此:C-B:NewW-D来执行此操作。您还可以使用这样的-t选项在特定索引处创建一个窗口:C-B:neww -t 9。
C-B 0将带您到窗口0,C-B 1带您到窗口1,依此类推,直到C-B 9. C-B'提示索引切换到该窗口。如果youwant将带有索引大于9的索引的Windows,这可能是有用的.C-B将您带到上一个窗口,C-B n按索引将您带到窗口列表中的thyext窗口。 C-B L将带您解决当前在当前活动的最后一个窗口。这非常适合一次又一次地在两个窗口之间交替。
要重命名当前窗口,可以使用C-B:Renamew<新名称>或c-b,这提示窗口的名称。
我发现它方便不超过ASSESSES中的10个Windows(索引0-9),以便我可以使用C-B<数字&gt ;.
您可以通过在窗口中拆分窗格来创建新窗格。 C-B%将当前窗格分成左右窗格。 C-B"将当前窗格分成顶部和底部窗格。可以递归地又一次地分割TheSenew Panes。
C-B o按号码将您带到下一个窗格。您可以使用C-B<上升,C-B<下,C-B<左和GT;或C-B<右边;转到PaneaBove,下面,左或右,分别为活动窗格。 Peperenkeys在窗口周围缠绕,以便从大多数窗格到达最左侧的窗格,你可以按C-B<右边和gt ;.
您可以通过在shell上执行以下命令查看可用会话列表:
然后,您可以附加到您感兴趣的会话。另一种方法是使用树模式在Tmux内部。您可以使用密钥序列C-B S或Enter C-B:LS转到树模型显示所选会话列表。 keysto控制树模式不需要前缀键。可以使用< up&gt导航的会话列表;和<下降>钥匙。 EMACS关键绑定C-PAND C-N工作。如果将VI密钥绑定配置,则J和K也会工作。按空格键展开或折叠每个会话下的窗口列表。按ENTER键转到会话或窗口。
您可以通过在主目录中定义名为.tmux.conf的文件中的配置来配置tmux。首次启动Tmux服务器时,此配置会效果。修改此配置文件时,请务必重新启动TMUX服务器。前往Doso的优雅方式是退出所有Windows和会话,然后启动新的TMuxSession。一种快速而肮脏的方法是使用以下命令:
除了C-B之外,这允许您使用C-B控制TMUX。我发现C-J是一个更方便的前缀键,因为j键存在于键盘的右侧在食指下的主页中。
将辅助前缀键发送到窗口,即,按下C-J C-J时发送C-J.
关键结合C-B&杀死当前窗口,键绑定C-B X杀死当前窗格。但是,如果没有上述配置,系统将提示您使用y或n确认操作。例如:窗格编号2中的C-B X,将提示您使用kill-pane 2? (y / n)。能够杀死窗户或窗格是方便的,而无需通过确认提示。
使用当前窗格的当前目录打开一个新的窗格或窗口,而不是启动第一个Tmux会话的目录。
此处-c选项用于指定新窗格的“开始目录”。当前路径用上面的命令中的替换变量pane_current_path表示。 -h选项指定窗口应拆分到左侧和右窗格中。
默认情况下,TMUX将术语环境变量设置为屏幕。使用此设置,大多数程序将仅支持8种颜色。例如,Vim语法突出显示仅使用8种颜色。要配置TMUX要将终端设置为使用256种颜色,请将术语环境变量设置为屏幕-256Color。
使用此配置,使用颜色的程序可以使用所有256种颜色。以下是一个快速shell命令,以测试终端256的外观:
默认情况下,TMUX使用各种模式的Emacs密钥绑定,例如,查看模式,树木模式等。如果使用Vim而不是Emacs,则可以方便地设置VI键绑定。