set -gx BAT_STYLE plain set -gx EDITOR nvim set -gx LANG en_US.UTF-8 set -gx PAGER 'less --tabs=4 --jump-target=.25 -iRFM' if status --is-interactive # Disable the default shell greeting set fish_greeting # Disable the abbreviated directory format set fish_prompt_pwd_dir_length 0 # If installed, setup git tools command -q diff-so-fancy; and set -gx GIT_PAGER "diff-so-fancy | $PAGER" command -q interactive-rebase-tool; and set -gx GIT_SEQUENCE_EDITOR interactive-rebase-tool # If installed, setup z function command -q zoxide; and zoxide init fish | source # Git prompt set -g __fish_git_prompt_showdirtystate 1 set -g __fish_git_prompt_showstashstate 1 set -g __fish_git_prompt_showuntrackedfiles 1 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_color_branch magenta set -g __fish_git_prompt_color_dirtystate cyan set -g __fish_git_prompt_color_invalidstate red set -g __fish_git_prompt_color_stagedstate cyan set -g __fish_git_prompt_color_stashstate cyan set -g __fish_git_prompt_color_untrackedfiles cyan set -g __fish_git_prompt_color_upstream yellow # Bindings bind \cb battery bind \cq fkill bind \cp __fzf_files bind \cg __fzf_git_log # Shell history if command -q atuin set -gx ATUIN_NOBIND true atuin init fish | source bind \cr _atuin_search else bind \cr __fzf_history end # By default, Ctrl+L clears the screen # Add binding Ctrl+Alt+L to clear screen AND scrollback buffer bind \e\f 'clear; commandline -f repaint' # Expand '...' to '../..' bind . expand_dots end if not set -q __universals_initialized set -U __universals_initialized # Abbreviations abbr -a -U d 'docker' abbr -a -U e $EDITOR abbr -a -U h 'history' abbr -a -U k 'kubectl' abbr -a -U l 'less' abbr -a -U m 'minikube' abbr -a -U n 'nerdctl' abbr -a -U p 'podman' # Git abbreviations abbr -a -U g 'git' abbr -a -U ga 'git add' abbr -a -U gb 'git branchsort' abbr -a -U gbd 'git branch -D' abbr -a -U gc 'git commit' abbr -a -U gco 'git checkout' abbr -a -U gcp 'git cherry-pick' abbr -a -U gd 'git diff' abbr -a -U gdc 'git diff --cached' abbr -a -U gdh 'git diff --cached HEAD~' abbr -a -U gf 'git fetch --prune' abbr -a -U gl 'git logsearch -10' abbr -a -U glo 'git log --oneline -10' abbr -a -U gr 'git restore' abbr -a -U gs 'git status' abbr -a -U gst 'git stash' abbr -a -U gsw 'git switch' # Colors set -U fish_color_autosuggestion a5a5a9 set -U fish_color_cancel -r set -U fish_color_command green set -U fish_color_comment a5a5a9 set -U fish_color_cwd cyan set -U fish_color_cwd_root red set -U fish_color_end brblack set -U fish_color_error red set -U fish_color_escape yellow set -U fish_color_history_current --bold set -U fish_color_host normal set -U fish_color_host_remote yellow set -U fish_color_normal normal set -U fish_color_operator blue set -U fish_color_param white set -U fish_color_quote yellow set -U fish_color_redirection cyan set -U fish_color_search_match bryellow --background=515151 set -U fish_color_selection white --bold --background=515151 set -U fish_color_status red set -U fish_color_user brgreen set -U fish_color_valid_path --underline set -U fish_pager_color_completion normal set -U fish_pager_color_description yellow --dim set -U fish_pager_color_prefix white --bold set -U fish_pager_color_progress black --background=cyan end