Вопрос по terminal, zsh, macos – Как я могу заставить ZSH отображать текущий каталог во фрейме терминала?

4

Я постепенно переключаюсь с Bash на ZSH и пытаюсь учиться, копируя функции. Похоже, не могу найти этот.

Bash does this by default I think

Что я должен положить, и где я должен положить это? Это вообще возможно? Благодарю.

AFAIK, Терминал простоdoes этот. Мой $ PS1 просто установлен на символ бесконечности & # x221E ;. Kevin Suttle
Вероятно, это устанавливается приглашением оболочки подbash - какой выход вы получаетеecho $PS1 подbash? sarnold
zsh обеспечиваетchpwd_functions массив, который значительно лучше, чем при использованииPS1на основе илиprecmdна основе побегов. Я надеялсяPS1 будет иметьTerminal.app escape-последовательности для установки заголовка окна. Возможно, это вPROMPT_COMMAND? sarnold
Я, честно говоря, понятия не имею. Это все совершенно новое для меня. Я смотрю наgithub.com/holman/dotfiles/tree/master/zsh и задаюсь вопросом, может ли это быть prompt.zsh, где это должно произойти. Я был неправ и по поводу предыдущей ссылки. Ложно положительный. Kevin Suttle

Ваш Ответ

1   ответ
10

settitle() { printf "\e]0;[email protected]\a" }
dir_in_title() { settitle $PWD }
chpwd_functions=(dir_in_title)

Теперь вашcd Команды будут запускатьdir_in_title функция, которая будет печатать escape-последовательность, которая спрашиваетTerminal.app обновить заголовок. (Как ни странно, используя escape-последовательность, которая также работает вurxvt, по крайней мере. Они должны быть более стандартизированы, чем я ожидал.)

Если вам нравится эффект, вам нужно добавить эти строки в свой~/.zshrc чтобы он работал на будущих терминалах.

Я схватил правильную последовательность побегаот Криса Пейджа на суперпользователя и стиль функцийиз моего ответа на похожий, но другой вопрос. Крис Пейдж дал свой собственный ответ на этот вопрос с деталями в OS X 10.7, которые сильно отличаются, При обновлении вы, вероятно, захотите использовать вместо этого его механизм.

Похожие вопросы