我最近从GNU 屏幕到多路复用器。
我发现它非常相似,但有更大的支持(我切换是因为neovim 中的逃逸时间问题- 分辨率仅适用于 tmux)。
不幸的是,在 tmux 中我找不到类似的命令:
screen -X eval "chdir $(some_dir)"
上面的命令更改了 GNU 屏幕内新窗口/屏幕/窗格的默认目录,因此当我按Ctrl+ a(类似于 tmux Ctrl+ b)时,在该目录中打开新窗口$(some_dir)
。
tmux中有类似的东西吗?
答案:
我使用了 @Lqueryvg 答案,并将其与评论中的 @Vincent Nivoliers 建议结合起来,这为我提供了一个新的命令绑定,attach -c "#{pane_current_path}"
该命令将我的当前目录设置为默认目录。
谢谢。
答案1
太长了;博士
Ctrl+b :
attach -c desired/directory/path
长答案
开始
tmux
如下:(cd /aaa/bbb; tmux)
现在,您创建的任何新窗口(或窗格)都将从 目录 开始/aaa/bbb
,无论当前窗格的当前目录如何。
- 如果要在
tmux
启动并运行后更改默认目录,请attach-session
使用-c
.
引用手册tmux
页attach-session
:
-c will set the session working directory (used for new windows)
to working-directory.
例如:
Ctrl+b :
attach -c /ddd/eee
新窗口(或窗格)现在将在 目录 中启动/ddd/eee
,无论当前窗格的目录如何。
答案2
对于那些可能正在寻找比所选答案提供的更多参考的人,StackOverflow 上对此问题有另一个很好的答案:
https://stackoverflow.com/questions/27307815/how-to-change-the-starting-directory-of-a-tmux-session
attach
它提供了无需离开会话即可完成此操作的方法,对于那些以多会话方式使用 tmux 的人(比如我自己),上面的答案提供了关于/如何工作的更好的上下文attach-session
。
请参阅两个可用答案以了解它们的不同使用方式。我发现两者都很有帮助/富有洞察力。