tmux新窗格将主目录作为默认目录,而不是先前的目录


24

当我在带有的窗格中按Ctrl+ "(创建新窗格)时PWD /tmp,新窗格将作为我的主文件夹启动~

我看着/unix//a/109255/72471,它帮助我解决了有关Windows的相同问题。

但是,我无法split-window通过插入来解决此问题

bind " split-window -c "#{pane_current_path}"

进入我的~/.tmux.conf

我正在使用tmux 1.9a,因此不想为此处所述的较旧版本提供一个凌乱的解决方案(无论如何在我的情况下不起作用):

bind '"' set default-path "" \; split-window -v \; set -u default-path

tmux创建新窗格时,如何知道将默认目录设置为窗格的当前路径?

Answers:


45

尝试指定v垂直或h水平

我的.tmux.conf文件有:

bind \ split-window -h -c '#{pane_current_path}'  # Split panes horizontal
bind - split-window -v -c '#{pane_current_path}'  # Split panes vertically

(我使用\-作为单指窗格拆分器。)

无论我在哪里,都可以使用当前目录为我打开新窗格。
对我来说,这当然是一个关键功能!

tmux的另一项关键问题(在这种情况下,这就是问题所在)是您必须应用以下更改:

tmux source-file ~/.tmux.conf

请注意,关闭终端,即使注销并重新启动,也不会应用tmux更改-您必须实际使用该命令(或使用Ctrl+ B :source-file ~/.tmux.conf)。

您可以.tmux.confhttps://github.com/durrantm/setups看到我的完整文件。


2
您说“请注意,关闭终端,即使注销并重新启动也不会应用tmux更改”。当然,如果您仅分离了tmux,它不会,但是杀死并重新启动服务器将应用更改:)。
soyuka 2015年

2
非常感谢!这超级有帮助。但是,我很确定重新启动计算机会应用tmux更改:)
2015年

重新启动计算机并没有为我应用更改,以前这导致我感到困惑。ymmv
Michael Durrant

请注意,可以针对new-window
math2001 '18

25
bind '%' split-window -h -c '#{pane_current_path}'  # Split panes horizontal
bind '"' split-window -v -c '#{pane_current_path}'  # Split panes vertically
bind c new-window -c '#{pane_current_path}' # Create new window

向您添加最后一行以在新窗口中~/.tmux.conf进行维护$PWD


6

那是因为,

bind " split-window -c "#{pane_current_path}"

应该

bind '"' split-window -c "#{pane_current_path}"

2

万一有人通过搜索到达这里,这在tmux 2.7上可以正常工作,并且可能在所有版本上都可以

unbind '"'
bind '"' split-window -v -c '#{pane_current_path}'  # Split panes vertically

unbind %
bind % split-window -h -c '#{pane_current_path}'  # Split panes horizontal
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.