代码之家  ›  专栏  ›  技术社区  ›  Milhous

鱼互动贝壳全路径

  •  19
  • Milhous  · 技术社区  · 15 年前

    在鱼互动外壳中是否有一种方法可以显示完整的路径?当前,当我导航到一个目录时,会得到以下shell。

    millermj@Dodore ~/o/workspace
    

    但我宁愿看到

    millermj@Dodore ~/o-town/workspace
    
    4 回复  |  直到 8 年前
        1
  •  25
  •   Amir Raminfar Hadi Rasouli    8 年前

    有了新的鱼壳(2.3版),你可以 set -U fish_prompt_pwd_dir_length 0 . 它将使用完整的路径。我也用 dartfish 为了我的主题。见下例:

    enter image description here

        2
  •  16
  •   michaelmichael    14 年前

    这是我的版本 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
    

    这将像往常一样显示主目录的tilde,但会删除 sed 当目录很深时,只从每个目录中提取第一个字母的命令。

    编辑 普罗普特波普 使用 funced . 它允许您以交互方式更改函数。从命令行类型 funced prompt_pwd . 一旦提示按您的喜好显示,请使用 funcsave prompt_pwd 使行为在以后的会话中保持不变。

        3
  •  6
  •   rynop    10 年前

    我个人不喜欢触摸共享/默认值。fish有一个很好的功能设计,所以利用它。

    创造 ~/.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/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
    
        4
  •  -3
  •   pgs    15 年前

    这个 prompt_pwd 函数决定要显示的函数。你应该能够写自己的版本来得到你想要的。