1) Как вставить пробел, промежуточный current directory
(file
) и git_prompt_info
(git
) не заканчиваясь с дополнительным пространством между current directory
и text cursor
?
Когда никакое пространство не добавляется:
➜ user ~ |
➜ user ~ cd file|
➜ user filegit:(master) ✗ |
Примечание: |
представляет текстовый курсор.
Источник (.zshrc):
PROMPT='%{$fg_bold[green]%}➜ %{$fg_bold[red]%}$USER %{$fg_bold[cyan]%}%c%{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}'
Когда пространство добавляется:
➜ user ~ |
➜ user ~ cd file|
➜ user file git:(master) ✗ |
Примечание: пространство между current directory
(~
) и git_prompt_info
(git
) возможно, был добавлен, но дополнительное пространство было добавлено между current directory
(~
) и text cursor
(|
).
Источник (.zshrc):
PROMPT='%{$fg_bold[green]%}➜ %{$fg_bold[red]%}$USER %{$fg_bold[cyan]%}%c %{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}'
Примечание: единственное внесенное изменение, является пространством, которое было добавлено здесь %c%
-> %c %
.
2) И оттуда, как я заставляю полный путь показывать?
➜ user ~ cd file|
➜ user ~/file git:(master) ✗ |
В Вашем git_prompt_info
функция необходимо снабдить префиксом вывод пространство, если существует вывод, иначе нет. (Как примечание стороны: Вы, вероятно, хотите изучить vcs_info систему, которая интегрируется в zsh, см. zshcontrib страницу руководства),
Относительно Вашего второго вопроса: Если я понимаю Вас правильно, необходимо смочь использовать %~
вместо %c
получить то, что Вы хотите. Если Вы действительно хотите, чтобы полный путь был показан использование %d
. Взгляните на zshmisc
страница руководства (запрашивают раздел расширения) для большего количества изменений этого.