我如何设置tmux,使它启动与指定的窗口打开?


当前回答

你应该在你的tmux配置文件(~/.tmux.conf)中指定它,例如:

new mocp
neww mutt

new -d
neww
neww

(打开一个会话,2个窗口,第一个启动mocp,第二个启动mutt,另一个分离会话,3个空窗口)。

其他回答

这对我很有用。创建5个具有给定名称的窗口,并自动选择到主窗口。

new  -n home
neww -n emacs
neww -n puppet
neww -n haskell
neww -n ruby
selectw -t 1

我是这样做的:

#!/bin/bash

function has-session {
  tmux has-session -t name_of_my_session 2>/dev/null
}

if has-session ; then
  echo "Session already exists"
else
  cd /path/to/my/project
  tmux new-session -d -s name_of_my_session 'vim'
  tmux split-window -h -p 40 start_web_server
  tmux split-window -v
  tmux attach-session -d -t name_of_my_session
fi

我的每个项目都有一个文件。你也可以把它们分组,一些用于工作,一些用于业余项目。

也可以将其移动到~/bin文件夹,将其添加到PATH并给出tmux_my_awesome_project名称。然后你就可以在每个地方运行它了。

试试兄弟,这是一个项目引导器。

它提供了与tmux交互的简单api。

它看起来是这样的:

#!/bin/sh
# @ project_name/tasks/init.sh
structure project_name
  window editor
    run 'vim'
  window terminal
    run 'echo happy coding ...'
focus editor
connect project_name

要启动一个项目,所有人需要做的是运行以下命令-

兄弟开始<project_name>

检查下面的截屏,它展示了如何开始与兄弟和使用它的tmux api。

https://user-images.githubusercontent.com/8296449/50532502-2cf3e400-0b6e-11e9-84af-c5f77a04e5cc.gif

去https://github.com/remiprev/teamocil看看吧

你可以使用YAML指定你的结构

windows:
  - name: sample-window
    splits:
      - cmd: vim
      - cmd:
        - ipython
        width: 50
      - cmd:
        height: 25

有一个tmux插件。

查看tmux- resurrection

Restore tmux environment after system restart. Tmux is great, except when you have to restart the computer. You lose all the running programs, working directories, pane layouts etc. There are helpful management tools out there, but they require initial configuration and continuous updates as your workflow evolves or you start new projects. tmux-resurrect saves all the little details from your tmux environment so it can be completely restored after a system restart (or when you feel like it). No configuration is required. You should feel like you never quit tmux.

或tmux-continuum

特点: 持续节约tmux环境 当计算机/服务器打开时自动启动tmux tmux启动时自动恢复