概要
例えば git add
を gadd
のように alias している人も多いのではないでしょうか。しかし、たくさんあるサブコマンドを alias に登録するのはちょっと面倒です。そこで、自動でやらせてみました。
ソース
.zshrc
にコピペしてご利用下さい。どちらか片方でも両方でも良いですが、両方入れておくと便利だと思います。
下記ソースでは、g
を prefix としてサブコマンドが続く alias を登録しています。例えば、以下のような感じです。
-
gadd
→git add
-
gpush
→git push
-
gst
→git st
(.gitconfig
でst
の alias が登録されている場合)
prefix を変えたい場合は alias g
となっている辺りを編集して下さい。
デフォルトのサブコマンド用
if [[ -d $(git --exec-path) ]]; then
foreach file ($(git --exec-path)/git-*)
eval "alias g${file/*git-/}='git ${file/*git-/}'"
end
fi
.gitconfig で alias したサブコマンド用
if [[ -f "$HOME/.gitconfig" ]]; then
eval `\
sed -e 's/;.*$//' \
-e 's/[[:space:]]*$//' -e 's/^[[:space:]]*//' < "$HOME/.gitconfig" | \
sed -n -e "/^\[alias\]/,/^\s*\[/{/^[^;].*\=.*/p;}" | \
sed -e 's/\([^ =]\+\).*/alias g\1="git \1"/g' \
`
fi
参考
-
Linux - bashでiniファイルを読む - Qiita
- シェルスクリプトから ini 形式の特定セクションを読み込む方法を利用させて頂きました