fish の config を公開します
fish の config ファイルを公開する
以前の記事で 自分のfishのfunctionを公開した ので、備忘録的に fish の config も公開します。
この辺りはエンジニアの三大美徳である「怠惰」が表れるのですが、なかなか一般に公開されているものは多くないように思います。何かの参考になればと思い、また自分が将来 PC を乗り換えた時に思い出せるように書き残しておきます。
エイリアスのいくつかを簡単に説明する
docker 関連では毎回$ docker-compose
と打つと大変なので dc としました。
git 関連では、rebase 周りが重宝しています。コミットを3つ rebase したい時は $ grbia HEAD~3
で済み、continue した時は$ grbc
、abort するときは$ grba
を打つだけです。
新しいブランチを作るときは$ gs -c feature/some-branch-name
、push する時は $ gpso feature/some-branch-name
で ok です。$ gfc
でリモートブランチをフェッチしてきて、$ gplo feature/some-branch-name
すれば最新になります。
一方、reset や stash、push origin --force-with-lease といったコマンドはあえてエイリアスを作成していません。これから重要な操作を打つのだという意識を自分に持たせるためです。と言いつつ、fish の history による補完を使っているので全部入力することはなかったりします。
.config/fish/config.fish
set -x PATH "$HOME/.nodebrew/current/bin:$PATH"
set -x PATH "$HOME/.yarn/bin:$PATH"
set -x PATH "$HOME/.cargo/bin:$PATH"
alias python 'python3'
alias pip 'pip3'
fish_add_path /opt/homebrew/bin
fish_add_path $HOME/.cargo/env
# 汎用
alias .. 'cd ..'
alias ... 'cd ../..'
alias n 'nodebrew'
# docker関係
alias d 'docker'
alias dst 'docker stats'
alias dps 'docker ps'
alias dpa 'docker ps -a'
alias drm 'docker rm'
alias dim 'docker images'
alias dc 'docker-compose'
alias dcu 'docker-compose up'
alias dcd 'docker-compose down'
# Git
alias s 'git switch (git branch --sort=-authordate | cut -b 3- | grep -v -- "->" | peco | sed -e "s%origin/%%")'
alias fu "git commit --fixup=(git log --oneline | peco | cut -d ' ' -f 1)"
alias show "git show (git log --oneline | peco | cut -d ' ' -f 1)"
alias g 'git'
alias ga 'git add'
alias gau 'git add -u'
alias gaa 'git add -A'
alias gc 'git commit'
alias gcm 'git commit -m'
alias gca 'git commit --amend'
alias gst 'git status'
alias gl 'git log'
alias glo 'git log --oneline'
alias gdf 'git diff'
alias gs 'git switch'
alias gpso 'git push origin'
alias gm 'git push origin main'
alias gplo 'git pull origin'
alias gplm 'git pull origin main'
alias gfc 'git fetch'
alias gmg 'git merge'
alias gmgc 'git merge --continue'
alias gmga 'git merge --abort'
alias grb 'git rebase'
alias grbc 'git rebase --continue'
alias grba 'git rebase --abort'
alias grbia 'git rebase -i --autosquash'
alias grb 'git rebase'
alias gg 'git grep'
alias gs 'git switch'
alias gr 'git restore'
# npm
alias nr 'npm run'
alias nrd 'npm run dev'
alias nrb 'npm run build'
alias nrw 'npm run watch'
alias ns 'npm run start'
alias ni 'npm i'
alias nid 'npm i -D'
alias nui 'npm uninstall'
# yarn
alias y 'yarn'
alias yi 'yarn install'
alias ya 'yarn add'
alias yad 'yarn add -D'
alias yr 'yarn remove'
alias ys 'yarn start'
alias yd 'yarn dev'
alias yb 'yarn build'
alias yw 'yarn workspace'
Happy Coding 🎉