macos - sportsline - Ruta completa de Fish Interactive Shell
www cbs sportsline com ncaa (4)
¿Hay alguna forma en el shell interactivo de Fish para que se muestre la ruta completa? Actualmente cuando navego a un directorio obtengo el siguiente shell.
millermj@Dodore ~/o/workspace
pero prefiero ver
millermj@Dodore ~/o-town/workspace
Aquí está mi versión de prompt_pwd
que debería mostrar lo que estás buscando:
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
Esto mostrará la tilde para el directorio de inicio, como de costumbre, pero elimina el comando sed
que solo extrae la primera letra de cada directorio cuando tiene unos pocos directorios de profundidad.
Para editar prompt_pwd
utilizar funced
. Te permitirá alterar interactivamente la función. Desde la línea de comando escriba funced prompt_pwd
. Una vez que el indicador se muestre a su gusto, use funcsave prompt_pwd
para hacer que el comportamiento persista en futuras sesiones.
Con el nuevo fishshell (v2.3) puedes hacer set -U fish_prompt_pwd_dir_length 0
. Y usará el camino completo. También uso dartfish para mi tema. Vea el ejemplo a continuación:
La función prompt_pwd
determina la función que se mostrará. Debería poder escribir su propia versión para obtener lo que desea.
Personalmente no me gusta tocar los valores compartidos / predeterminados. El pescado tiene un gran diseño de funciones, así que aproveche eso.
Cree ~/.config/fish/functions/prompt_long_pwd.fish
con el contenido:
function prompt_long_pwd --description ''Print the current working directory''
echo $PWD | sed -e "s|^$HOME|~|" -e ''s|^/private||''
end
Luego simplemente edite su ~/.config/fish/functions/fish_prompt.fish
para usar prompt_long_pwd
. Aquí está el mensaje personalizado que uso:
~ / .config / fish / 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 / functions / 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