使用 tmux 在当前目录中打开终端

Chr*_*yer 7 command-line tmux bashrc

目前我有一个简单的.bashrc文件,它允许我始终打开运行 tmux 的同一个终端(实际上是重新打开)。重要的部分如下所示。

其本质是,当您执行时,tmux attach -d您断开任何tmux正在运行的会话,有效地关闭了打开的终端窗口(因为我用tmux命令打开了它)。tmux但是,tmux attach -d由于 tmux 配置文件中的一小行,调用终端会重新打开该会话。

这很好用,但现在我想恢复在我单击“在此处打开终端”的目录中打开终端窗口的功能。

我明白我必须做到以下几点:

  1. 告诉tmux“Cm C”(创建新面板)
  2. cd 到当前目录

这可能吗?我对这类事情的了解非常有限,因此我在问。

我一直在环顾四周,发现了这个要点(也如下所示)。这是有道理的,但我不知道如何${TARGET}.bashrc文件中获取变量。

.bashrc

116 # Start tmux every time we call up a terminal
117 [[ $TERM != "screen" ]] && exec tmux attach -d
Run Code Online (Sandbox Code Playgroud)

配置文件

  1 #if run as "tmux attach", create a session if one does not already exist
  2 new-session -n $HOST
Run Code Online (Sandbox Code Playgroud)

要点文件

tmux_pwd () {
    [ -z "${TMUX}" ] && return
    TARGET=\-t$(tmux display-message -p "#S")
    tmux set-window-option ${TARGET} default-path $PWD > /dev/null
    (( sleep 300;
    tmux set-window-option ${TARGET} default-path  ~/Development > /dev/null; ) & ) > /dev/null 2>&1
}
alias pwd="\pwd; tmux_pwd"
Run Code Online (Sandbox Code Playgroud)

小智 1

Tmux 始终以您当前的工作目录打开。

就像,如果您位于 /home/user/Desktop/ 中,tmux 会话将仅从此路径启动。

请详细说明您的问题。