tmux 配置将选项卡名称重命名为工作目录的基本名称

tmux 配置将选项卡名称重命名为工作目录的基本名称

我有这个设置,它应该通过按将当前窗口重命名为我的当前目录<prefix>.

bind-key . run -b "tmux rename-window $(basename #{pane_current_path})"

由于某种原因,它不起作用。目前它给了我一个 127 错误。我尝试用 替换,basename/usr/bin/basename也没有帮助。我不知道我现在做错了什么……

答案1

编辑:我原来的答案是错误的,只是侥幸而已。Kamil 在下面的评论促使我重新考虑。

以下命令对我有用,包括带有空格的路径。

bind-key . run -b 'tmux rename-window "`basename \"#{pane_current_path}\"`"'

或者

bind-key . run -b 'NEWNAME="#{pane_current_path}"; tmux rename-window "${NEWNAME####*/}"'

答案2

当您执行更新时,您可能会通过确认步骤来保护操作:

bind . run 'tmux confirm-before -p "rename-window #{b:pane_current_path}? (y/n)" "rename-window #{b:pane_current_path}"'

或者

bind . command-prompt -I "#W" "rename-window '%%'"

后者的额外好处是它允许进一步修改。

相关内容