2

Я использую iTerms на моем Mac OS X с zsh . С моим рабочим процессом мне приходится многократно переключаться между вкладками, и иногда мне приходится тратить слишком много времени только на то, чтобы найти нужную вкладку, потому что все они имеют одно и то же имя.

Как вы можете видеть на скриншоте выше. Теперь это было бы очень полезно для меня , по крайней мере отображать Tab Title для текущего рабочего каталога вместо Job name в iTerms для zsh

Я посмотрел на предпочтения, и нет никакой возможности для этого. Он будет отображать CWD только в том случае, если задание не запущено, но после его выполнения будет отображаться имя задания.

2 ответа2

3

Проверьте функции precmd и preexec с which precmd и which preexec , соответственно:

precmd Выполняется перед каждым приглашением. (...)

preexec Выполняется сразу после того, как команда прочитана и готовится к выполнению. (...) Фактическая команда, которая будет выполняться (включая расширенные псевдонимы), передается в двух разных формах: второй аргумент - однострочная, ограниченная по размеру версия команды (с такими элементами, как тела функций, исключенные); третий аргумент содержит полный текст, который выполняется.

Возможно, в preexec есть некоторый код, который меняет заголовок вкладки на $2 или $3 .

В качестве первого теста вы можете полностью отключить обе функции ловушек (precmd() {} , preexec() {}), установить заголовок вручную (echo -ne "\e]1;TEST\a") и проверить, остается ли он, если Вы выполняете команду.

Затем попытайтесь найти источник исходной настройки, либо в ваших личных файлах RC (~/.zshrc), либо в общесистемных (/etc/zsh*).

Если это удачно, вы можете подумать о разумном заголовке вкладки и поместить команду echo в precmd как предложено @Tiago.

1

Отредактируйте ваши файлы конфигурации zsh, чтобы установить заголовок в функции precmd(), например, $PWD .

echo -ne "\e]1;$PWD\a"

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .