【zsh】自分もaliasとかを晒してく

# 経緯
開発をもっと効率よくするためにいろんなショートカットを集めてます。
もう使ってないものもあるけど整理する前のタイミングで一旦公開。

# 俺的役に立ったTOP10

## 10位
```zsh:Terminal
alias ld="ld -L /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib -lSystem"
```
いつだかのMacOSアップデートで、リンカが正しくライブラリを読み込めなくなったことがあって、それを明示的にリンカに伝える必要があった。
それが長すぎたのでaliasにしてた。

https://developer.apple.com/forums/thread/655588

## 9位
```zsh:Terminal
alias rm="rm -rf"
```
ディレクトリごと強制的に消したい時にストレスなく使えた。
ただしこいつのせいで大事なファイルもよく消したので9位にしてやった。

## 8位
```zsh:Terminal
alias ll="ls -atrl"
```
タイムスタンプを見ることがなぜか多くて、最終更新日順でファイルが最後の方にlongフォーマットで出力してくれるので便利。

## 7位
```zsh:Terminal
alias tree="pwd;find . | sort | sed '1d;s/^\.//;s/\/\([^/]*\)$/|--\1/;s/\/[^/|]*/| /g'"
```
もともとwindowsのコマンドで、ディレクトリ階層を木構造に見やすく表示してくれる。擬似`tree`コマンド


## 6位
```zsh:Terminal
alias genssh="ssh-keygen;cat ~/.ssh/id_rsa.pub | pbcopy"
```
sshキーに対して理解が浅かった時に、何度も作り直して貼り付けしてた。`pbcopy`がクリップボードに保存してくれる機能をここで知った。

## 5位
```zsh:Terminal
alias a="./a.out"
```
C言語で生成される実行ファイルを永遠に実行してた。
この時は`Makefile`を勉強することになって、今後一切使わなくなることをまだ知らない。。

## 4位
```zsh:Terminal
alias p="python"
```
python勉強してるうちはこれが幸せ。

## 3位
```zsh:Terminal
alias vimzsh="vim ~/.zshrc && source ~/.zshrc"
```
便利そうなのはすぐに追加したくなるので、編集と有効化を同時にしてみるやつ。
42にいたときに誰かからパクった気がする。

## 2位
```zsh:Terminal
alias c="cd ../"
```
ディレクトリを1個上に戻るやつ。毎日使っているのでは。

## 1位 
```zsh:Terminal
function chpwd() { 
	pwd
	ls
}
```
aliasじゃないってオチではあるんですが、やっぱりディレクトリ移動したときに勝手に`ls`してくれる機能が一番効率化された気がした。

# 終わりに
今は就職する前の好きにプログラミングを学んでいる段階なので、1,2年後に同じ記事を出してみてどれくらい成長したか（or 実務では何が便利なのか）を実感してみたいってのもある。


# 以下全文
自分のzshrcファイルです
```zsh:~/.zshrc
# --- alias  -----------------------------------

# docker
alias d="docker"

# npm
alias nrs="npm run serve"

# Go
alias god="gofmt -d"
alias gob="go build"

# python
alias p="python"
alias pi="pip install"
alias pu="pip uninstall"
alias pl="pip list"
alias pypiset="rm -rf dist/ *.egg-info && python setup.py sdist bdist_wheel && twine upload -r pypi dist/* "

# conda
alias ci="yes | conda install"
alias cl="conda list"
alias cie="conda info -e"
alias cde="conda deactivate"
alias pyhelp="python --version;which python"
alias ca="conda activate"

# git 
alias gb="git branch"
alias gc="git checkout"

# normal
alias tree="pwd;find . | sort | sed '1d;s/^\.//;s/\/\([^/]*\)$/|--\1/;s/\/[^/|]*/| /g'"
alias a="./a.out"
alias g="gfortran"
alias gccf="gcc -fsanitize=address"
#alias gcc="gcc -Wall -Wextra -Werror"
alias srcok="source ~/.zshrc"
alias ll="ls -AshtrlGp"
alias ls="ls -G"
alias la="ls -la"
alias sl="ls"
alias c="cd ../"
alias rm="rm -rf"
alias md="mkdir -pv"
alias cm="chmod 777"
alias vimvim="vim ~/.vimrc"
alias vimzsh="vim ~/.zshrc && source ~/.zshrc"
alias genssh="ssh-keygen;cat ~/.ssh/id_rsa.pub | pbcopy"
alias catssh="cat ~/.ssh/id_rsa.pub | pbcopy"
alias norm="norminette"
alias normko="norminette | grep "KO""
alias nasm="nasm -f macho64"
alias ld="ld -L /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib -lSystem"

# java
export CLASSPATH="./"
alias java="java -Duser.language=en"
alias javahelp="java --version && javac --version"
alias jd="javadoc -d docs"

# --- run command -------------------------------
setopt share_history
unsetopt COMPLETE_ALIASES
setopt auto_cd


# --- my function ----------------------------------
function chpwd() { 
	pwd
	ls
}

alias gp="gitpush"
function gitpush() {
  git add .
  git commit -m "$1"
  git push
}

# function command_not_found_handler()
# {
# 	
# }

# zsh
source ~/Homebrew/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
autoload -Uz compinit
compinit

# conda
function cr() {
	yes | conda remove -n py$1 --all && conda info -e
}

function ccr() {
	yes | conda create python=$1 -n py$1
}

# man
man() {
    env LESS_TERMCAP_mb=$'\E[01;31m' \
    LESS_TERMCAP_md=$'\E[01;38;5;74m' \
    LESS_TERMCAP_me=$'\E[0m' \
    LESS_TERMCAP_se=$'\E[0m' \
    LESS_TERMCAP_so=$'\E[38;5;246m' \
    LESS_TERMCAP_ue=$'\E[0m' \
    LESS_TERMCAP_us=$'\E[04;38;5;146m' \
    man "$@"
}

# Prompt name
# zshファイルなので分岐の意味なかった
if [ `echo $SHELL` = "/bin/zsh" ]; then
	MY_PROMPT="%F{green}%B(%*) %n[%L][%?] %f%b%2d %# "
else
	MY_PROMPT="\u \$"	
fi
export PS1=$MY_PROMPT

# hello
figlet syoshika
```