创建可启动的tmux配置?


24

我发现自己经常通过以下方式做同样的事情tmux

  1. cd 到给定目录。
  2. tmux
  3. 将窗口重命名为我在做什么。
  4. 垂直分割窗口50%。
  5. 在左侧窗口中启动一个进程。
  6. 在右侧窗口中启动另一个过程。
  7. 利润。

有没有一种方法可以自动启动所有这些命令,以便我可以运行单个命令并获取要查找的窗口?


那么shell别名呢?
Marco Marco

Answers:


22

Archwiki节省了一天!tmux页面上的会话初始化给出了一个示例。

这就是说,而不是启动TMUX因为tmuxtmux new -s name当它开始的,而不是给它的值将命名会话。

会话初始化


通过将〜/ .tmux.conf中的那些详细信息包括在内,您可以让tmux使用预加载的窗口打开会话:

new  -n WindowName Command
neww -n WindowName Command
neww -n WindowName Command

要使用分割窗口(多个窗格)开始会话,请在要分割的neww下面包括splitw命令;从而:

new  -s SessionName -n WindowName Command
neww -n foo/bar foo
splitw -v -p 50 -t 0 bar
selectw -t 1 
selectp -t 0

将会打开2个窗口,其中第二个窗口将命名为foo / bar,并且foo在bar上方运行时会被垂直拆分为一半(50%)。焦点将位于窗口2(foo / bar),顶部窗格(foo)中。

注意:会话,窗口和窗格的编号从零开始,除非您在.conf中将基本索引指定为1。

要管理多个会话,请从conf文件中获取单独的会话文件:

# initialize sessions
bind F source-file ~/.tmux/foo
bind B source-file ~/.tmux/bar

6

Rob的回答很好,并确切解释了如何从tmux本身内部处理会话。现在,如果您不介意使用第三方工具,tmuxinator是一个很棒的项目,可以帮助轻松地创建和管理会话

每个会话都由一个配置文件控制,该文件可让您定义所有窗口和窗格及其布局和在其中运行的默认命令。它还允许您定义默认项目目录,特定套接字和运行所需的守护程序(例如mysql)。最重要的是,它还提供了一种附加到它们的简便方法:只需运行mux [session-name],它将启动会话,或者如果会话已经在运行,则将其附加到该会话。我已经使用了一段时间了并且喜欢它(感谢aziz!)。

https://github.com/aziz/tmuxinator

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.