俺のbash_profileがこんなにキモいわけない

## 唐突ですがbash_profile晒してく

改めて見ると散らかっててキモい。
使ってないのも混ざってるし。
なんのために書いたのかもわからないやつとか。

そんな僕のmacの.bash_profileです。説明を加えながら晒します。
参考にするなり、指摘するなりお好きにどうぞ(・ω・`)

解説を先に見たい方は[こちら](#解説)から

## 晒す
















.bash_profileをコピー
`$ cat ~/.bash_profile  | pbcopy`


```bash

alias ll='ls -lahG'

alias vi='vim'
alias mvi='/Applications/MacVim.app/Contents/MacOS/mvim'

alias areion='sh /Users/ore_no_mac/tools/script/Areion/areion.sh'
alias slssh='sh /Users/ore_no_mac/tools/script/SLS/sls.sh'
alias hr='sh /Users/ore_no_mac/tools/script/horizontal_rule/hr | grep "☆" --color="auto"'

alias ff='find . -type f'
alias datedir='mkdir `date "+%Y%m%d"`';
alias datetouch='touch `date "+%Y%m%d"`.txt';

## screen alias
alias sn="/usr/bin/screen $@ ";

# docker alias
alias doc='docker'
## docker all clear
alias docker-all-clear='docker rm -f $(docker ps -aq) && docker rmi -f $(docker images -aq)'

alias memo='vi /Users/ore_no_mac/tools/script/Stacker/`date "+%Y%m%d"`.md';
alias memos='cd /Users/ore_no_mac/tools/script/Stacker/';

## googler alias
alias gg="/usr/local/bin/googler -n 3 $@ ";
## redmine_link
alias chrm="open /Applications/Google\ Chrome.app"
alias red_pass="chrm http://社内サーバーのredminURL"

# git alias
alias git-graph='git log --graph --pretty=format:"%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset" --abbrev-commit --date=relative'
alias git-graph-all='git log --graph --all --pretty=format:"%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset" --abbrev-commit --date=relative'
alias git-detail='sh /Users/ore_no_mac/tools/script/power_git/detail.sh'

## ========================================
## |      ↓↓これより以下は説明を省きます↓↓     |
## ========================================

export CLICOLOR=1
export LSCOLORS=DxGxcxdxCxegedabagacad
# export LSCOLORS=gxfxcxdxbxegedabagacad

if [ -f /Applications/MacVim.app/Contents/MacOS/Vim ]; then
  alias vi='env LANG=ja_JP.UTF-8 /Applications/MacVim.app/Contents/MacOS/Vim "$@"'
  alias vim='env LANG=ja_JP.UTF-8 /Applications/MacVim.app/Contents/MacOS/Vim "$@"'
fi

# export PS1="\[\e[1;32m\][\u@\h \W]\\$ \[\e[m\]"
export PS1="\[\e[1;32m\]\d :\W\\[\e[1;34m\] \$ \[\e[m\]\[\e[m\]"

RUBY_HOME='/usr/local/opt/ruby' #インストールディレクトリ
RI="--format ansi" # riを256カラーで表示
PAGER="less -R" # ページャーにlessを指定
PATH=$RUBY_HOME/bin:$PATH

export PATH PAGER RUBY_HOME RI
export PATH=$PATH:$HOME/.nodebrew/current/bin

if [ -d "$HOME/.rbenv" ]; then
  export PATH="$HOME/.rbenv/bin:$PATH"
  eval "$(rbenv init --no-rehash -)"
fi
export PATH="/usr/local/opt/libxml2/bin:$PATH"
export PATH=$PATH:$HOME/.nodebrew/current/bin

if [ -f ~/.bashrc ] ; then
. ~/.bashrc
fi

export PATH="/usr/local/opt/php@5.6/bin:$PATH"
export PATH="/usr/local/opt/php@5.6/sbin:$PATH"
export PATH="/usr/local/opt/php@7.1/bin:$PATH"
export PATH="/usr/local/opt/php@7.1/sbin:$PATH"
export PATH="/usr/local/opt/php@7.2/bin:$PATH"
export PATH="/usr/local/opt/php@7.2/sbin:$PATH"

## AWS-Cli用
export PATH=~/.local/bin:$PATH

## kubernetes
#export KUBECONFIG=/etc/kubernetes/admin.conf
```

## 解説

ほとんどの記述がaliasとなっています。
作業効率UPのために結構色々記述してて見辛いので、細かく分けて解説するっす。

- [lsコマンドのalias](#lsコマンドのalias)
- [vimのalias](#vimのalias)
- [自作スクリプト](#自作スクリプト)
- [ファイル捜査コマンド](#ファイル捜査コマンド)
- [ファイル生成コマンド](#ファイル生成コマンド)
- [screenのalias](#screenのalias)
- [Docker系のコマンド](#Docker系のコマンド)
- [メモを作成するコマンド](#メモを作成するコマンド)
- [ターミナルからブラウザ操作](#ターミナルからブラウザ操作)
- [git系のコマンド](#git系のコマンド)


#lsコマンドのalias

`ll`は恐らく一番利用してるコマンドです。
`ls -lah`は割と一般的ですが、`G`オプションをつけるとシンボリックリンクを色分けしてくれます。

```bash

alias ll='ls -lahG'
```

#vimのalias

この書き方意味あるのかな。。。
`which vi`すると`/usr/bin/vi`って返ってくるから、多分vim、viとしてパスが通ってる？

```bash

alias vi='vim'
alias mvi='/Applications/MacVim.app/Contents/MacOS/mvim'
```

#自作スクリプト

- areion
  - パスワード管理ツール。最近あまり使ってない
- slssh
  - サーバー構築時によく使う。ssh/configのHostを一覧表示し、選択したHostにSSHログインする
- hr
  - 特定の文字をターミナルの文字数(幅)で出力

```bash

alias areion='sh /Users/ore_no_mac/tools/script/Areion/areion.sh'
alias slssh='sh /Users/ore_no_mac/tools/script/SLS/sls.sh'
alias hr='sh /Users/ore_no_mac/tools/script/horizontal_rule/hr | grep "☆" --color="auto"'
```


#ファイル捜査コマンド

`find . -type f`コマンドのaliasとして登録してます。
用途としては、grep等と組み合わせてファイル捜査に利用してます。


```bash

alias ff='find . -type f'
```

- 現在のディレクトリ配下から"README.md"というファイルを探し、パスを表示

```
ff | grep "README.md"
```
- 現在のディレクトリ配下から"hogehoge"を内容に含むファイルのパス・一致する内容を表示

```
  ff | xargs grep "hoge"
  ./huga/piyo.php: // hogeしたい
```

#ファイル生成コマンド

現在の日付でフォルダ、ファイル(txt)を作成するコマンドのalias

```
alias datedir='mkdir `date "+%Y%m%d"`';
alias datetouch='touch `date "+%Y%m%d"`.txt';
```

#screenのalias

screenコマンドのalias
あまり役にっ立てない

```
alias sn="/usr/bin/screen $@ ";
```

#docker系のコマンド

dockerコマンドのalias等。

```bash

# docker alias
alias doc='docker'
## docker all clear
alias docker-all-clear='docker rm -f $(docker ps -aq) && docker rmi -f $(docker images -aq)'
```

- doc
  - あまり使ってない
- docker-all-clear
  - dockerイメージなどを全て消す感じのコマンド。データベースなどを保持している場合は注意が必要


#メモを作成するコマンド

議事録とかを作成するときに便利

```bash

alias memo='vi /Users/ore_no_mac/tools/script/Stacker/`date "+%Y%m%d"`.md';
alias memos='cd /Users/ore_no_mac/tools/script/Stacker/';
```

#ターミナルからブラウザ操作

ターミナルからブラウザを操作する

```bash

## googler alias
alias gg="/usr/local/bin/googler -n 3 $@ ";
## redmine_link
alias chrm="open /Applications/Google\ Chrome.app"
alias red_pass="chrm http://社内サーバーのredminURL"
```

- gg
  - ターミナルでgoogle検索する
- chrm
  - ターミナルからChromeを起動
- red_pass
  - Chromeで社内サーバーのRedmineを開く

#git系のコマンド

git系のコマンドalias

```bash

# git alias
alias git-graph='git log --graph --pretty=format:"%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset" --abbrev-commit --date=relative'

alias git-graph-all='git log --graph --all --pretty=format:"%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset" --abbrev-commit --date=relative'

alias git-detail='sh /Users/ore_no_mac/tools/script/power_git/detail.sh'
```

- git-graph
  - コミット履歴をツリー形式で閲覧
- git-graph-all
  - git-graphをさらに詳しく閲覧
- git-detail
  - `sh /Users/ore_no_mac/tools/script/power_git/detail.sh`を実行

自作のスクリプト power_git/detail.sh の中身

```bash

#!/bin/bash

echo "";
sh /Users/ore_no_mac/tools/script/horizontal_rule/hr | grep "★" --color="auto"
git remote -v | awk 'NR==2 { print "リポジトリ: " $2 }'
git branch | grep "\*" | awk '{ print "ブランチ: " $2 }'
echo "";
echo "==============Status===================="
git status
echo "========================================"
sh /Users/ore_no_mac/tools/script/horizontal_rule/hr | grep "★" --color="auto"
echo "";
```

## おまけ

「解説を省略」と書いてましたが、PS1について。
プロンプトの表示を変更できます。

```
export PS1="\[\e[1;32m\]\d :\W\\[\e[1;34m\] \$ \[\e[m\]\[\e[m\]"
```

ローカルでは特にこだわった設定はしていませんが、サーバーにSSHログインした際、環境ごとに文字色を変更したりします。
詳しくは 「ps1 変更」　とかで検索すると出てくるかと思います。


## 初感

ざっと解説してみて、改めて必要ないものや設定の怪しいものがありました。
改善の余地ありですね。