在tmux中执行git diff时分窗,新面板工作目录异常问题
解决tmux分窗目录异常问题
问题出在#{pane_current_path}获取的是当前面板中正在运行的进程的工作目录,而git diff在仓库子目录执行时,会临时切换到仓库根目录运行,导致tmux拿到的是根目录而非你实际所在的子目录。
你需要把绑定配置中的#{pane_current_path}替换为#{env:PWD},它会读取shell环境变量里的当前工作目录,也就是你实际停留的子目录:
unbind % bind | split-window -h -c '#{env:PWD}' bind - split-window -v -c '#{env:PWD}'
或者直接用shell的$PWD变量(效果一致):
unbind % bind | split-window -h -c "$PWD" bind - split-window -v -c "$PWD"
修改后,无论你在仓库子目录执行git diff后分窗,新面板都会保持你原来的工作目录。
内容的提问来源于stack exchange,提问作者Jan
相关产品推荐
相关产品推荐

