Search code examples
terminalfishiterm2

Getting a garbage character in terminal


So i just freshly installed my mac and setting up iTerm and fish shell. I installed oh-my-fish as well. But somehow this unknown character has stuck on my terminal. How do i remove it. I tried reinstalling fish and iterm and no luck.

enter image description here

Updated: fishk_prompt output as requested:

fish_prompt is a function with definition
function fish_prompt
    # Cache exit status
    set -l last_status $status

    # Just calculate these once, to save a few cycles when displaying the prompt
    if not set -q __fish_prompt_hostname
        set -g __fish_prompt_hostname (hostname|cut -d . -f 1)
    end
    if not set -q __fish_prompt_char
        switch (id -u)
            case 0
                set -g __fish_prompt_char '#'
            case '*'
                set -g __fish_prompt_char 'λ'
        end
    end

    # Setup colors
    #use extended color pallete if available
    #if [[ $terminfo[colors] -ge 256 ]]; then
    #    turquoise="%F{81}"
    #    orange="%F{166}"
    #    purple="%F{135}"
    #    hotpink="%F{161}"
    #    limegreen="%F{118}"
    #else
    #    turquoise="%F{cyan}"
    #    orange="%F{yellow}"
    #    purple="%F{magenta}"
    #    hotpink="%F{red}"
    #    limegreen="%F{green}"
    #fi
    set -l normal (set_color normal)
    set -l white (set_color FFFFFF)
    set -l turquoise (set_color 5fdfff)
    set -l orange (set_color df5f00)
    set -l hotpink (set_color df005f)
    set -l blue (set_color blue)
    set -l limegreen (set_color 87ff00)
    set -l purple (set_color af5fff)

    # Configure __fish_git_prompt
    set -g __fish_git_prompt_char_stateseparator ' '
    set -g __fish_git_prompt_color 5fdfff
    set -g __fish_git_prompt_color_flags df5f00
    set -g __fish_git_prompt_color_prefix white
    set -g __fish_git_prompt_color_suffix white
    set -g __fish_git_prompt_showdirtystate true
    set -g __fish_git_prompt_showuntrackedfiles true
    set -g __fish_git_prompt_showstashstate true
    set -g __fish_git_prompt_show_informative_status true

    # Line 1
    echo -n $white'╭─'$hotpink$USER$white' at '$orange$__fish_prompt_hostname$white' in '$limegreen(pwd)$turquoise
    __fish_git_prompt " (%s)"
    echo

    # Line 2
    echo -n $white'╰─'$__fish_prompt_char $normal
end

Solution

  • If you mean that "[I]", that's the vi-mode indicator. You are using the vi-bindings, and these can be rather confusing if you don't know what mode you are in, so this is enabled by default. If you wish to disable it, add

    function fish_mode_prompt; end
    

    to your configuration.