From f5fa6382c7955ab5df60ffa44936916120cd2ab8 Mon Sep 17 00:00:00 2001 From: raute Date: Wed, 29 Nov 2023 17:36:43 +0100 Subject: [PATCH] Add fish. --- fish/abbr.fish | 64 +++++++++++++++++++ fish/config.fish | 159 +++++++++++++++++++++++++++++++++++++++++++++++ fish/ls_colors | 1 + 3 files changed, 224 insertions(+) create mode 100644 fish/abbr.fish create mode 100644 fish/config.fish create mode 100644 fish/ls_colors diff --git a/fish/abbr.fish b/fish/abbr.fish new file mode 100644 index 0000000..aedef62 --- /dev/null +++ b/fish/abbr.fish @@ -0,0 +1,64 @@ +abbr -a -- ak add_key +abbr -a -- bc ~/.programme/Bridge_Constructor/start.sh +abbr -a -- c 'cal -yw' +abbr -a -- cd. 'cd .' +abbr -a -- cd.. 'cd ..' +abbr -a -- cp 'cp -i' +abbr -a -- cs sshconf +abbr -a -- d diesel +abbr -a -- df 'df -h' +abbr -a -- docs ~/scripts/docs/doc.sh +abbr -a -- du 'du -hs' +abbr -a -- e eva +abbr -a -- f filemanager +abbr -a -- gl 'git log' +abbr -a -- gp 'git pull' +abbr -a -- gs 'git status' +abbr -a -- ht htop +abbr -a -- ik ikhal +abbr -a -- ipa 'ip a' +abbr -a -- k 'khal calendar' +abbr -a -- labtuer 'ssh lltuer' +abbr -a -- la 'ls -lah' +abbr -a -- lcd last_cd +abbr -a -- le 'less -iS' +abbr -a -- les 'less -iS' +abbr -a -- ll 'ls -lah' +abbr -a -- llp llplenum +abbr -a -- l ls +abbr -a -- lt 'ls -laht | head' +abbr -a -- mpc mpv +abbr -a -- mv 'mv -i' +abbr -a -- nb newsboat +abbr -a -- ncdu 'ncdu --si' +abbr -a -- nm notmuch +abbr -a -- n 'nvim ~/Sync/Pixel/Documents/markor/QuickNote.md' +abbr -a -- off 'sudo sys poweroff' +abbr -a -- ö ls +abbr -a -- oneko 'i3-msg move container to workspace 10 && oneko -speed 35 -dog && exit' +abbr -a -- o open +abbr -a -- ös ls +abbr -a -- pb podboat +abbr -a -- pig 'ping 8.8.8.8' +abbr -a -- ps 'ps -fe | rg' +abbr -a -- py python3 +abbr -a -- reboot 'sudo sys reboot' +abbr -a -- rm 'rm -i' +abbr -a -- sido sudo +abbr -a -- sp 'sudo pkg' +abbr -a -- srv 'sudo srv' +abbr -a -- s ssh +abbr -a -- sys 'sudo sys' +abbr -a -- tdb 'wine ~/.wine/drive_c/Program Files/dataweb/TurboDB Studio 5/Bin/TurboDBStudio5.exe' +abbr -a -- td 'nvim ~/Sync/Pixel/Documents/markor/todo.txt' +abbr -a -- tor '~/.programme/tor-browser_en-US/Browser/start-tor-browser && exit' +abbr -a -- t trash +abbr -a -- udo sudo +abbr -a -- vd vidir +abbr -a -- vim nvim +abbr -a -- v nvim +abbr -a -- wc 'wc -l' +abbr -a -- wow 'i3-msg move container to workspace 10 && start_wow && exit' +abbr -a -- wpw 'i3-msg move container to workspace 10 && start_wow && exit' +abbr -a -- y 'shadowplay && exit' +abbr -a -- z zathura diff --git a/fish/config.fish b/fish/config.fish new file mode 100644 index 0000000..827dd69 --- /dev/null +++ b/fish/config.fish @@ -0,0 +1,159 @@ +set -x EDITOR /usr/bin/nvim +set -x VISUAL /usr/bin/nvim + +alias ls eza + +functions --copy cd __fish_cd +function cd + if [ "$argv[1]" = "" ] + set dir (fd -t d | fzf) + else + set dir "$argv[1]" + end + + if [ "$dir" != "" ] + __fish_cd "$dir" && pwd > /tmp/last_cd + end +end + +function cl + cd $argv[1] && ls +end + +function last_cd + __fish_cd (cat /tmp/last_cd) +end + +function fish_greeting +end + +function fish_prompt +end + +function custom_vi_bindings + fish_vi_key_bindings + bind -M insert -m default jj backward-char force-repaint + #bind -M insert -m default kk backward-char force-repaint +end +set -g fish_key_bindings custom_vi_bindings + +function mkcd + mkdir -p $argv[1] + cd $argv[1] +end + +function fzf_search + set p (fzf) + if [ $status = 0 ] + if not string match "* " (commandline) + commandline -a " " + end + commandline -a $p + end +end + +bind -M insert \cf fzf_search + +source ~/scripts/ssh-agent.fish 2>/dev/null +source ~/.config/fish/config.local 2>/dev/null +source ~/.config/fish/abbr.fish 2>/dev/null + +set -x PATH "$HOME/scripts" /opt/uif $PATH +set -x PYTHONPATH "$HOME/scripts" $PYTHONPATH +set -x PATH "$HOME/.cargo/bin" $PATH +set -x SVDIR "$HOME/.service" + +# Start flavours +set base00 282936 +set base01 3a3c4e +set base02 4d4f68 +set base03 626483 +set base04 62d6e8 +set base05 e9e9f4 +set base06 f1f2f8 +set base07 f7f7fb +set base08 ea51b2 +set base09 b45bcf +set base0A 00f769 +set base0B ebff87 +set base0C a1efe4 +set base0D 62d6e8 +set base0E b45bcf +set base0F 00f769 +# End flavours + +set -x LS_COLORS (cat ~/.config/fish/ls_colors) + +set fish_color_autosuggestion $base03 $base00 +set fish_color_cancel -r +set fish_color_command $base04 +set fish_color_comment $base03 +# set fish_color_cwd green +# set fish_color_cwd_root red +# set fish_color_end green +# set fish_color_error brred +# set fish_color_escape brcyan +# set fish_color_history_current --bold +# set fish_color_host normal +# set fish_color_host_remote yellow +# set fish_color_normal normal +# set fish_color_operator brcyan +# set fish_color_param cyan +# set fish_color_quote yellow +# set fish_color_redirection 'cyan' '--bold' +# set fish_color_search_match --background=111 +# set fish_color_selection 'white' '--bold' '--background=brblack' +# set fish_color_status red +# set fish_color_user brgreen +# set fish_color_valid_path --underline +# set fish_pager_color_completion normal +# set fish_pager_color_description 'B3A06D' 'yellow' '-i' +# set fish_pager_color_prefix 'cyan' '--bold' '--underline' +# set fish_pager_color_progress 'brwhite' '--background=cyan' +# set fish_pager_color_selected_background -r + +function fish_mode_prompt + set last_status $status + if [ "$fish_key_bindings" = "fish_vi_key_bindings" ] + switch $fish_bind_mode + case default + set mode_indicator " N " + set indicator_colour $base04 + case insert + set mode_indicator " I " + set indicator_colour $base0A + case replace_one + set mode_indicator " R " + set indicator_colour $base08 + case visual + set mode_indicator " V " + set indicator_colour $base0E + end + end + + set_color -b $indicator_colour black + echo -n "$mode_indicator" + + if [ "$last_status" != "0" ] + set_color -b $base08 $base05 + echo -n " $last_status " + end + + set_color -b $base02 $base05 + echo -n " $USER " + + set_color -b $base01 $base05 + echo -n " " + echo -n (pwd | sd "/home/$USER" "~") # | sed -E "s!/(.).*/!/\1/!g") + echo -n " " + + set_color normal + set_color $base01 + echo -n "┃ " + + set_color normal + + if [ $CMD_DURATION -gt 3000 ] + echo -ne '\007' + end +end diff --git a/fish/ls_colors b/fish/ls_colors new file mode 100644 index 0000000..a02aa4f --- /dev/null +++ b/fish/ls_colors @@ -0,0 +1 @@ +*~=0;38;2;233;233;244:bd=0;38;2;235;255;135;48;2;40;41;54:ca=0:cd=0;38;2;233;233;244;48;2;40;41;54:di=0;38;2;180;91;207:do=0;38;2;233;233;244;48;2;40;41;54:ex=1;38;2;233;233;244:fi=0:ln=0;38;2;233;233;244:mh=0:mi=0;38;2;233;233;244;48;2;40;41;54:no=0:or=0;38;2;233;233;244;48;2;40;41;54:ow=0:pi=0;38;2;233;233;244;48;2;40;41;54:rs=0:sg=0:so=0;38;2;233;233;244;48;2;40;41;54:st=0:su=0:tw=0:*.a=1;38;2;233;233;244:*.c=0;38;2;233;233;244:*.d=0;38;2;233;233;244:*.h=0;38;2;233;233;244:*.m=0;38;2;233;233;244:*.o=0;38;2;233;233;244:*.p=0;38;2;233;233;244:*.r=0;38;2;233;233;244:*.t=0;38;2;233;233;244:*.z=4;38;2;233;233;244:*.7z=4;38;2;233;233;244:*.as=0;38;2;233;233;244:*.bc=0;38;2;233;233;244:*.bz=4;38;2;233;233;244:*.cc=0;38;2;233;233;244:*.cp=0;38;2;233;233;244:*.cr=0;38;2;233;233;244:*.cs=0;38;2;233;233;244:*.di=0;38;2;233;233;244:*.el=0;38;2;233;233;244:*.ex=0;38;2;233;233;244:*.fs=0;38;2;233;233;244:*.go=0;38;2;233;233;244:*.gv=0;38;2;233;233;244:*.gz=4;38;2;233;233;244:*.hh=0;38;2;233;233;244:*.hi=0;38;2;233;233;244:*.hs=0;38;2;233;233;244:*.jl=0;38;2;233;233;244:*.js=0;38;2;233;233;244:*.ko=1;38;2;233;233;244:*.kt=0;38;2;233;233;244:*.la=0;38;2;233;233;244:*.ll=0;38;2;233;233;244:*.lo=0;38;2;233;233;244:*.md=0;38;2;233;233;244:*.ml=0;38;2;233;233;244:*.mn=0;38;2;233;233;244:*.nb=0;38;2;233;233;244:*.pl=0;38;2;233;233;244:*.pm=0;38;2;233;233;244:*.pp=0;38;2;233;233;244:*.ps=0;38;2;233;233;244:*.py=0;38;2;233;233;244:*.rb=0;38;2;233;233;244:*.rm=0;38;2;233;233;244:*.rs=0;38;2;233;233;244:*.sh=0;38;2;233;233;244:*.so=1;38;2;233;233;244:*.td=0;38;2;233;233;244:*.ts=0;38;2;233;233;244:*.ui=0;38;2;233;233;244:*.vb=0;38;2;233;233;244:*.wv=0;38;2;233;233;244:*.xz=4;38;2;233;233;244:*.aif=0;38;2;233;233;244:*.ape=0;38;2;233;233;244:*.apk=4;38;2;233;233;244:*.arj=4;38;2;233;233;244:*.asa=0;38;2;233;233;244:*.aux=0;38;2;233;233;244:*.avi=0;38;2;233;233;244:*.awk=0;38;2;233;233;244:*.bag=4;38;2;233;233;244:*.bak=0;38;2;233;233;244:*.bat=1;38;2;233;233;244:*.bbl=0;38;2;233;233;244:*.bcf=0;38;2;233;233;244:*.bib=0;38;2;233;233;244:*.bin=4;38;2;233;233;244:*.blg=0;38;2;233;233;244:*.bmp=0;38;2;233;233;244:*.bsh=0;38;2;233;233;244:*.bst=0;38;2;233;233;244:*.bz2=4;38;2;233;233;244:*.c++=0;38;2;233;233;244:*.cfg=0;38;2;233;233;244:*.cgi=0;38;2;233;233;244:*.clj=0;38;2;233;233;244:*.com=1;38;2;233;233;244:*.cpp=0;38;2;233;233;244:*.css=0;38;2;233;233;244:*.csv=0;38;2;233;233;244:*.csx=0;38;2;233;233;244:*.cxx=0;38;2;233;233;244:*.deb=4;38;2;233;233;244:*.def=0;38;2;233;233;244:*.dll=1;38;2;233;233;244:*.dmg=4;38;2;233;233;244:*.doc=0;38;2;233;233;244:*.dot=0;38;2;233;233;244:*.dox=0;38;2;233;233;244:*.dpr=0;38;2;233;233;244:*.elc=0;38;2;233;233;244:*.elm=0;38;2;233;233;244:*.epp=0;38;2;233;233;244:*.eps=0;38;2;233;233;244:*.erl=0;38;2;233;233;244:*.exe=1;38;2;233;233;244:*.exs=0;38;2;233;233;244:*.fls=0;38;2;233;233;244:*.flv=0;38;2;233;233;244:*.fnt=0;38;2;233;233;244:*.fon=0;38;2;233;233;244:*.fsi=0;38;2;233;233;244:*.fsx=0;38;2;233;233;244:*.gif=0;38;2;233;233;244:*.git=0;38;2;233;233;244:*.gvy=0;38;2;233;233;244:*.h++=0;38;2;233;233;244:*.hpp=0;38;2;233;233;244:*.htc=0;38;2;233;233;244:*.htm=0;38;2;233;233;244:*.hxx=0;38;2;233;233;244:*.ico=0;38;2;233;233;244:*.ics=0;38;2;233;233;244:*.idx=0;38;2;233;233;244:*.ilg=0;38;2;233;233;244:*.img=4;38;2;233;233;244:*.inc=0;38;2;233;233;244:*.ind=0;38;2;233;233;244:*.ini=0;38;2;233;233;244:*.inl=0;38;2;233;233;244:*.ipp=0;38;2;233;233;244:*.iso=4;38;2;233;233;244:*.jar=4;38;2;233;233;244:*.jpg=0;38;2;233;233;244:*.kex=0;38;2;233;233;244:*.kts=0;38;2;233;233;244:*.log=0;38;2;233;233;244:*.ltx=0;38;2;233;233;244:*.lua=0;38;2;233;233;244:*.m3u=0;38;2;233;233;244:*.m4a=0;38;2;233;233;244:*.m4v=0;38;2;233;233;244:*.mid=0;38;2;233;233;244:*.mir=0;38;2;233;233;244:*.mkv=0;38;2;233;233;244:*.mli=0;38;2;233;233;244:*.mov=0;38;2;233;233;244:*.mp3=0;38;2;233;233;244:*.mp4=0;38;2;233;233;244:*.mpg=0;38;2;233;233;244:*.nix=0;38;2;233;233;244:*.odp=0;38;2;233;233;244:*.ods=0;38;2;233;233;244:*.odt=0;38;2;233;233;244:*.ogg=0;38;2;233;233;244:*.org=0;38;2;233;233;244:*.otf=0;38;2;233;233;244:*.out=0;38;2;233;233;244:*.pas=0;38;2;233;233;244:*.pbm=0;38;2;233;233;244:*.pdf=0;38;2;233;233;244:*.pgm=0;38;2;233;233;244:*.php=0;38;2;233;233;244:*.pid=0;38;2;233;233;244:*.pkg=4;38;2;233;233;244:*.png=0;38;2;233;233;244:*.pod=0;38;2;233;233;244:*.ppm=0;38;2;233;233;244:*.pps=0;38;2;233;233;244:*.ppt=0;38;2;233;233;244:*.pro=0;38;2;233;233;244:*.ps1=0;38;2;233;233;244:*.psd=0;38;2;233;233;244:*.pyc=0;38;2;233;233;244:*.pyd=0;38;2;233;233;244:*.pyo=0;38;2;233;233;244:*.rar=4;38;2;233;233;244:*.rpm=4;38;2;233;233;244:*.rst=0;38;2;233;233;244:*.rtf=0;38;2;233;233;244:*.sbt=0;38;2;233;233;244:*.sql=0;38;2;233;233;244:*.sty=0;38;2;233;233;244:*.svg=0;38;2;233;233;244:*.swf=0;38;2;233;233;244:*.swp=0;38;2;233;233;244:*.sxi=0;38;2;233;233;244:*.sxw=0;38;2;233;233;244:*.tar=4;38;2;233;233;244:*.tbz=4;38;2;233;233;244:*.tcl=0;38;2;233;233;244:*.tex=0;38;2;233;233;244:*.tgz=4;38;2;233;233;244:*.tif=0;38;2;233;233;244:*.tml=0;38;2;233;233;244:*.tmp=0;38;2;233;233;244:*.toc=0;38;2;233;233;244:*.tsx=0;38;2;233;233;244:*.ttf=0;38;2;233;233;244:*.txt=0;38;2;233;233;244:*.vcd=4;38;2;233;233;244:*.vim=0;38;2;233;233;244:*.vob=0;38;2;233;233;244:*.wav=0;38;2;233;233;244:*.wma=0;38;2;233;233;244:*.wmv=0;38;2;233;233;244:*.xcf=0;38;2;233;233;244:*.xlr=0;38;2;233;233;244:*.xls=0;38;2;233;233;244:*.xml=0;38;2;233;233;244:*.xmp=0;38;2;233;233;244:*.yml=0;38;2;233;233;244:*.zip=4;38;2;233;233;244:*.zsh=0;38;2;233;233;244:*.zst=4;38;2;233;233;244:*TODO=1:*hgrc=0;38;2;233;233;244:*.bash=0;38;2;233;233;244:*.conf=0;38;2;233;233;244:*.dart=0;38;2;233;233;244:*.diff=0;38;2;233;233;244:*.docx=0;38;2;233;233;244:*.epub=0;38;2;233;233;244:*.fish=0;38;2;233;233;244:*.flac=0;38;2;233;233;244:*.h264=0;38;2;233;233;244:*.hgrc=0;38;2;233;233;244:*.html=0;38;2;233;233;244:*.java=0;38;2;233;233;244:*.jpeg=0;38;2;233;233;244:*.json=0;38;2;233;233;244:*.less=0;38;2;233;233;244:*.lisp=0;38;2;233;233;244:*.lock=0;38;2;233;233;244:*.make=0;38;2;233;233;244:*.mpeg=0;38;2;233;233;244:*.opus=0;38;2;233;233;244:*.orig=0;38;2;233;233;244:*.pptx=0;38;2;233;233;244:*.psd1=0;38;2;233;233;244:*.psm1=0;38;2;233;233;244:*.purs=0;38;2;233;233;244:*.rlib=0;38;2;233;233;244:*.sass=0;38;2;233;233;244:*.scss=0;38;2;233;233;244:*.tbz2=4;38;2;233;233;244:*.tiff=0;38;2;233;233;244:*.toml=0;38;2;233;233;244:*.webm=0;38;2;233;233;244:*.webp=0;38;2;233;233;244:*.woff=0;38;2;233;233;244:*.xbps=4;38;2;233;233;244:*.xlsx=0;38;2;233;233;244:*.yaml=0;38;2;233;233;244:*.cabal=0;38;2;233;233;244:*.cache=0;38;2;233;233;244:*.class=0;38;2;233;233;244:*.cmake=0;38;2;233;233;244:*.dyn_o=0;38;2;233;233;244:*.ipynb=0;38;2;233;233;244:*.mdown=0;38;2;233;233;244:*.patch=0;38;2;233;233;244:*.scala=0;38;2;233;233;244:*.shtml=0;38;2;233;233;244:*.swift=0;38;2;233;233;244:*.toast=4;38;2;233;233;244:*.xhtml=0;38;2;233;233;244:*README=0;38;2;233;233;244;48;2;40;41;54:*passwd=0;38;2;233;233;244:*shadow=0;38;2;233;233;244:*.config=0;38;2;233;233;244:*.dyn_hi=0;38;2;233;233;244:*.flake8=0;38;2;233;233;244:*.gradle=0;38;2;233;233;244:*.groovy=0;38;2;233;233;244:*.ignore=0;38;2;233;233;244:*.matlab=0;38;2;233;233;244:*COPYING=0;38;2;233;233;244:*INSTALL=0;38;2;233;233;244;48;2;40;41;54:*LICENSE=0;38;2;233;233;244:*TODO.md=1:*.desktop=0;38;2;233;233;244:*.gemspec=0;38;2;233;233;244:*Doxyfile=0;38;2;233;233;244:*Makefile=0;38;2;233;233;244:*TODO.txt=1:*setup.py=0;38;2;233;233;244:*.DS_Store=0;38;2;233;233;244:*.cmake.in=0;38;2;233;233;244:*.fdignore=0;38;2;233;233;244:*.kdevelop=0;38;2;233;233;244:*.markdown=0;38;2;233;233;244:*.rgignore=0;38;2;233;233;244:*COPYRIGHT=0;38;2;233;233;244:*README.md=0;38;2;233;233;244;48;2;40;41;54:*configure=0;38;2;233;233;244:*.gitconfig=0;38;2;233;233;244:*.gitignore=0;38;2;233;233;244:*.localized=0;38;2;233;233;244:*.scons_opt=0;38;2;233;233;244:*CODEOWNERS=0;38;2;233;233;244:*Dockerfile=0;38;2;233;233;244:*INSTALL.md=0;38;2;233;233;244;48;2;40;41;54:*README.txt=0;38;2;233;233;244;48;2;40;41;54:*SConscript=0;38;2;233;233;244:*SConstruct=0;38;2;233;233;244:*.gitmodules=0;38;2;233;233;244:*.synctex.gz=0;38;2;233;233;244:*.travis.yml=0;38;2;233;233;244:*INSTALL.txt=0;38;2;233;233;244;48;2;40;41;54:*LICENSE-MIT=0;38;2;233;233;244:*MANIFEST.in=0;38;2;233;233;244:*Makefile.am=0;38;2;233;233;244:*Makefile.in=0;38;2;233;233;244:*.applescript=0;38;2;233;233;244:*.fdb_latexmk=0;38;2;233;233;244:*CONTRIBUTORS=0;38;2;233;233;244;48;2;40;41;54:*appveyor.yml=0;38;2;233;233;244:*configure.ac=0;38;2;233;233;244:*.clang-format=0;38;2;233;233;244:*.gitattributes=0;38;2;233;233;244:*.gitlab-ci.yml=0;38;2;233;233;244:*CMakeCache.txt=0;38;2;233;233;244:*CMakeLists.txt=0;38;2;233;233;244:*LICENSE-APACHE=0;38;2;233;233;244:*CONTRIBUTORS.md=0;38;2;233;233;244;48;2;40;41;54:*.sconsign.dblite=0;38;2;233;233;244:*CONTRIBUTORS.txt=0;38;2;233;233;244;48;2;40;41;54:*requirements.txt=0;38;2;233;233;244:*package-lock.json=0;38;2;233;233;244:*.CFUserTextEncoding=0;38;2;233;233;244