Конфигурация 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 '%%'"
Дополнительным преимуществом последнего является возможность дальнейших модификаций.