Pesce Interactive Shell percorso completo
Domanda
C'è un modo nel guscio Pesce Interactive per il percorso completo da visualizzare. Attualmente, quando a navigare in una directory ricevo il seguente shell.
millermj@Dodore ~/o/workspace
, ma avrei preferito vedere
millermj@Dodore ~/o-town/workspace
Soluzione
Con la nuova fishshell (v2.3) si può fare set -U fish_prompt_pwd_dir_length 0
. E sarà utilizzare il percorso completo. Io uso anche Dartfish per il mio tema. Vedere il seguente esempio:
Altri suggerimenti
Ecco la mia versione di prompt_pwd
che dovrebbe mostrare quello che stai cercando:
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
Questo mostrerà la tilde per la home directory, come al solito, ma rimuove il comando sed
che tira solo la prima lettera di ogni directory quando sei alcune directory profondo.
Per modificare funced
uso funced prompt_pwd
. Essa vi permetterà di modificare in modo interattivo la funzione. Dalla riga di comando digitare funcsave prompt_pwd
. Una volta che la richiesta è la visualizzazione a proprio piacimento, utilizzare <=> per rendere il comportamento persistere nelle sessioni future.
Io personalmente non mi piace toccare le condivise / default. Pesce ha un grande disegno funzioni, in modo da sfruttare questo.
Crea ~/.config/fish/functions/prompt_long_pwd.fish
con il contenuto:
function prompt_long_pwd --description 'Print the current working directory'
echo $PWD | sed -e "s|^$HOME|~|" -e 's|^/private||'
end
Poi basta modificare il ~/.config/fish/functions/fish_prompt.fish
da usare prompt_long_pwd
. Ecco l'istruzione personalizzata che uso:
~ / .config / pesce / 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 / pesce / funzioni / 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 funzione prompt_pwd
determina la funzione da visualizzare. Dovreste essere in grado di scrivere la propria versione per ottenere quello che vuoi.