Конфигурация tmux для переименования имени вкладки в базовое имя рабочего каталога

У меня есть этот параметр, который должен переименовать текущее окно в мой текущий каталог, нажав <prefix>.

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

По какой-то причине это не работает. На данный момент это дает мне 127 ошибок. Я пытался заменить basename с /usr/bin/basename но это тоже не помогло. Я не знаю, что я делаю не так в данный момент...

2 ответа

Изменить: мой первоначальный ответ был неверным, и работал как случайность. Комментарий Камиля ниже побудил меня пересмотреть.

Следующие команды работают для меня, включая пути с пробелами в них.

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

или же

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

При выполнении обновления вы можете защитить операцию шагом подтверждения:

      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 '%%'"

Дополнительным преимуществом последнего является возможность дальнейших модификаций.

Другие вопросы по тегам