dotfiles/cli/fish/config.fish

73 lines
2.4 KiB
Fish

#!/bin/fish
if status is-interactive
# === default programs
set -gx EDITOR v
# === fzf configuration
set -gx FZF_DEFAULT_COMMAND 'ag -g ""'
set -gx FZF_COMPLETE 0
set -gx FZF_FIND_FILE_COMMAND 'ag -g ""'
set -gx FZF_OPEN_COMMAND 'ag -g ""'
set -gx FZF_DEFAULT_OPTS '--height 40% --preview "bat --style=numbers --color=always --line-range :500 {}"'
# === less configuration
# no line-wrapping, good for `docker ps`
set -gx LESS "-SRXF"
# === nvm configuration
set -gx nvm_mirror http://npm.taobao.org/mirrors/node
# === `ls` configuration
# change OTHER-WRITABLE color for `ls` command
set -gx LS_COLORS 'ow=34;42;40'
# === bat configuration
set -gx BAT_THEME 'OneHalfDark'
set -gx MANPAGER "sh -c 'col -bx | bat -l man -p'"
# === dict.sh configuration
set -gx D_SELECTOR 'plainsel'
# === fish git prompt configuration
# tune git icon for nerdfont
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 'x'
set -g __fish_git_prompt_char_cleanstate '✔ '
# === alias
alias k="kubectl"
alias kcc="k config get-contexts"
alias kcu="k config use-context"
alias kgd="k get deployment"
alias ked="k edit deployment"
alias kgp="k get pod -o 'custom-columns=NAME:.metadata.name,IMG:.spec.containers[*].image,STATUS:.status.phase'"
alias kl="k logs -f --all-containers"
alias issh='ssh -o "StrictHostKeyChecking=no" -o "UserKnownHostsFile=/dev/null"'
alias iscp='scp -o "StrictHostKeyChecking=no" -o "UserKnownHostsFile=/dev/null"'
alias dt='date "+%Y%m%d-%H%M%S"'
# === PATH and file sourcing
append_paths ~/bin ~/.local/bin ~/.yarn/bin ~/dotfiles/bin ~/dotfiles/devops/bin
source_files /usr/share/autojump/autojump.fish /usr/local/share/autojump/autojump.fish \
~/.jabba/jabba.fish \
~/.profile.fish
# === auto cd into last activated directory
test -z "$TMUX" && cd $last_pwd
if test -n "$TMUX"
function ssh
tmux rename-window $argv[-1]
command ssh $argv
tmux setw automatic-rename
end
end
end