Ответ 1
С новой рыбкой (v2.3) вы можете сделать set -U fish_prompt_pwd_dir_length 0
. И он будет использовать полный путь. Я также использую dartfish для своей темы. См. Пример ниже:
Есть ли способ в интерактивной оболочке Fish Interactive для отображения полного пути. В настоящее время, когда я перехожу в каталог, я получаю следующую оболочку.
[email protected] ~/o/workspace
но я предпочел бы видеть
[email protected] ~/o-town/workspace
С новой рыбкой (v2.3) вы можете сделать set -U fish_prompt_pwd_dir_length 0
. И он будет использовать полный путь. Я также использую dartfish для своей темы. См. Пример ниже:
Здесь моя версия prompt_pwd
, которая должна отображать то, что вы ищете:
function prompt_pwd --description 'Print the current working directory, NOT shortened to fit the prompt'
if test "$PWD" != "$HOME"
printf "%s" (echo $PWD|sed -e 's|/private||' -e "s|^$HOME|~|")
else
echo '~'
end
end
Это покажет тильду для домашнего каталога, как обычно, но удаляет команду sed
, которая вытаскивает первую букву из каждой директории, когда вы находитесь в нескольких каталогах.
Для редактирования prompt_pwd
используйте funced
. Это позволит вам интерактивно изменять функцию. Из командной строки введите funced prompt_pwd
. Как только приглашение будет отображаться по вашему вкусу, используйте funcsave prompt_pwd
, чтобы поведение сохранялось в будущих сеансах.
Мне лично не нравится касаться общих/дефолтов. У рыбы есть большой дизайн функций, поэтому используйте это.
Создайте ~/.config/fish/functions/prompt_long_pwd.fish
с содержимым:
function prompt_long_pwd --description 'Print the current working directory'
echo $PWD | sed -e "s|^$HOME|~|" -e 's|^/private||'
end
Затем просто отредактируйте свой ~/.config/fish/functions/fish_prompt.fish
, чтобы использовать prompt_long_pwd
. Вот пользовательский запрос, который я использую:
~/.config/рыба/config.fish
set -g __fish_git_prompt_show_informative_status 1
set -g __fish_git_prompt_hide_untrackedfiles 1
set -g __fish_git_prompt_color_branch magenta bold
set -g __fish_git_prompt_showupstream "informative"
set -g __fish_git_prompt_char_upstream_ahead "↑"
set -g __fish_git_prompt_char_upstream_behind "↓"
set -g __fish_git_prompt_char_upstream_prefix ""
set -g __fish_git_prompt_char_stagedstate "●"
set -g __fish_git_prompt_char_dirtystate "✚"
set -g __fish_git_prompt_char_untrackedfiles "…"
set -g __fish_git_prompt_char_conflictedstate "✖"
set -g __fish_git_prompt_char_cleanstate "✔"
set -g __fish_git_prompt_color_dirtystate blue
set -g __fish_git_prompt_color_stagedstate yellow
set -g __fish_git_prompt_color_invalidstate red
set -g __fish_git_prompt_color_untrackedfiles $fish_color_normal
set -g __fish_git_prompt_color_cleanstate green bold
~/.config/рыба/функции/fish_prompt.fish
function fish_prompt --description 'Write out the prompt'
set -l last_status $status
if not set -q __fish_prompt_normal
set -g __fish_prompt_normal (set_color normal)
end
# PWD
set_color $fish_color_cwd
echo -n (prompt_long_pwd)
set_color normal
printf '%s ' (__fish_git_prompt)
if not test $last_status -eq 0
set_color $fish_color_error
end
echo -n '$ '
end
Самый простой способ настроить приглашение рыбы - использовать fish_config
.
Функция prompt_pwd
определяет функцию для отображения. Вы должны иметь возможность написать свою собственную версию, чтобы получить то, что хотите.