Question

Est-il possible dans le shell interactif poisson pour le chemin complet à afficher. À l'heure actuelle lorsque je navigue dans un répertoire que je reçois le shell suivant.

millermj@Dodore ~/o/workspace

mais je préférerais voir

millermj@Dodore ~/o-town/workspace
Était-ce utile?

La solution

Avec la nouvelle fishshell (v2.3) vous pouvez faire set -U fish_prompt_pwd_dir_length 0. Et il utilisera le chemin complet. Je l'utilise aussi Dartfish pour mon thème. Voir exemple ci-dessous:

 ici

Autres conseils

Voici ma version de qui devrait afficher prompt_pwd ce que vous cherchez:

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

Ceci affichera le tilde pour le répertoire, comme d'habitude, mais supprime la commande qui tire sed seule la première lettre de chaque répertoire lorsque vous êtes quelques répertoires profonds.

Pour modifier l'utilisation funced funced prompt_pwd. Il vous permettra de modifier de manière interactive la fonction. A partir de la ligne de commande de type funcsave prompt_pwd. Une fois que l'invite affiche à votre goût, utiliser pour rendre le <=> comportement persistent dans les sessions futures.

Personnellement, je n'aime pas toucher les valeurs par défaut partagées /. Le poisson a une grande conception de fonctions, donc tirer parti de cela.

Créer le contenu ~/.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

Ensuite, il suffit de modifier votre utiliser ~/.config/fish/functions/fish_prompt.fish prompt_long_pwd. Voici le guide vocal personnalisé que j'utilise:

~ / .config / poissons / 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 / poissons / fonctions / 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

La fonction prompt_pwd détermine la fonction à afficher. Vous devriez être en mesure d'écrire votre propre version pour obtenir ce que vous voulez.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top