Skip to content

Latest commit

 

History

History
160 lines (147 loc) · 4.4 KB

fish.org

File metadata and controls

160 lines (147 loc) · 4.4 KB

Fish

Smart and user friendly shell intended mostly for interactive use

General

Behaviour

Use vim and emacs key bindings at the same time.

fish_hybrid_key_bindings

Bootstrap fisher installation

if not functions -q fisher
    set -q XDG_CONFIG_HOME; or set XDG_CONFIG_HOME ~/.config
    curl https://git.io/fisher --create-dirs -sLo $XDG_CONFIG_HOME/fish/functions/fisher.fish
    fish -c fisher
end

add following folders to the path

set PATH ~/bin $PATH
set PATH ~/.local/bin $PATH
set PATH ~/.cargo/bin $PATH

make abbrevations private to a particular fish session

set -g fish_user_abbreviations

set aliases

alias ssh 'env TERM=xterm ssh'
alias cat 'bat'
alias ls 'exa'
alias top 'ytop'
alias vi 'vim'
alias rm 'echo "Use \'del\', or the full path i.e. \'/bin/rm\'"'
alias rmdir 'echo "Use \'deldir\', or the full path i.e. \'/bin/rmdir\'"'
alias del 'rmtrash'
alias deldir 'rmdirtrash'
alias mv 'mv -vn'
alias cp 'cp -vn'
alias x 'distrobox-host-exec'
alias e 'distrobox-host-exec flatpak run --command=emacsclient org.gnu.emacs -n -c -a emacs -d $DISPLAY'
alias o <<opener>>
alias mnt 'udisksctl mount -b'
alias umnt 'udisksctl unmount -b'
alias backup 'rsnapshot -c ~/.config/rsnapshot/config alpha'
thefuck --alias | source

set abbrevations

abbr c 'clear'

abbr .1 'cd ..'
abbr .2 'cd ../..'
abbr .3 'cd ../../..'
abbr .4 'cd ../../../..'
abbr .5 'cd ../../../../..'

abbr v 'vim'

abbr :q 'exit'

abbr g 'git'
abbr gs 'git status'
abbr gl 'git log'
abbr ga 'git add'
abbr gc 'git commit'
abbr gd 'git diff'

abbr dnf 'sudo dnf'
abbr pacman 'sudo pacman'
abbr mount 'sudo mount'
abbr umount 'sudo umount'

Suppress fish greeting

set fish_greeting ''

Use starship as a prompt

starship init fish | source

Use zoxide

zoxide init fish | source

Colors

set -g fish_color_autosuggestion brblack
set -g fish_color_cancel -r
set -g fish_color_command --bold white
set -g fish_color_comment brblack
set -g fish_color_cwd green
set -g fish_color_cwd_root red
set -g fish_color_end brblack
set -g fish_color_error red
set -g fish_color_escape yellow
set -g fish_color_history_current --bold
set -g fish_color_host white
set -g fish_color_match --background=brblack
set -g fish_color_normal white
set -g fish_color_operator blue
set -g fish_color_param white
set -g fish_color_quote green
set -g fish_color_redirection cyan
set -g fish_color_search_match yellow --background=brblack
set -g fish_color_selection white --bold --background=brblack
set -g fish_color_status red
set -g fish_color_user green
set -g fish_color_valid_path --underline
set -g fish_pager_color_completion normal
set -g fish_pager_color_description yellow --dim
set -g fish_pager_color_prefix white --bold
set -g fish_pager_color_progress black --bold --background=blue

Functions

Cheat.sh

function cht
  set param (echo $argv | \
        sed -E 's/ /\//;s/ ([0-9]+)$/\/\1/;s/ /+/g')
  curl -Ls "cht.sh/$param" | less -R
end

Fisher

Fisher is fish package manager.

Pure

Minimal prompt for fish.

#rafaelrinaldi/pure

Done

Automatically receive notifications when long processes finish.

franciscolourenco/done

Pisces

helps you to work with paired symbols in the command line

#laughedelic/pisces