Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
0
Help us understand the problem. What are the problem?

この記事は、上智大学エレクトロニクス研究部Advent Calendar第12日目の記事です。

tl;dr

この記事に書いてある内容は、GitHubでも公開しています。以下のコマンドでインストールできるので、長くて読めないよ!という方はこちらを試してみてください。

cd ~/Documents
git clone git@github.com:Tsutomu-Ikeda/settings
cd settings/unix/setup
make install

なぜシェルに zsh を使うか

開発をしていて触れる時間が長いもので一二を争うものといえばシェルです。 bashfishxonsh など様々なシェルに触れてきましたが、僕が一番オススメするのは zsh です。なぜなら、一番カスタマイズが行いやすく、有志によるツールの開発も活発で、かつMacOSに標準でインストールされているからです。

.zshrc の中身

zsh でカスタマイズしている中でおすすめの設定をいくつか紹介します。全体を見たい方は GitHubの .zshrc をご覧ください。

setopt関連

setopt auto_param_slash  # ディレクトリ名を補完したとき自動的にスラッシュを付ける
setopt mark_dirs
setopt list_types
setopt auto_menu
setopt auto_param_keys
setopt interactive_comments
setopt magic_equal_subst
setopt print_eight_bit  # 日本語を表示できるようにする
setopt hist_ignore_space  # コマンド先頭が空白文字の場合履歴から除外する
setopt hist_reduce_blanks  # 連続した空白文字をひとつにする
setopt hist_ignore_dups  # 同じコマンドが連続したとき、一回しか出力しないようにする
setopt hist_find_no_dups  # インクリメンタルサーチで同じコマンドが結果に出ないようにする
setopt complete_in_word  # カーソルの位置が単語の途中でも単語全体で補完を行うようにする
setopt always_last_prompt  # 補完候補をその場で表示し、選択し終わったら画面から消すようにする
setopt nonomatch  # 補完失敗時のエラーを出さないようにする

alias関連

alias rebirth='echo Reincarnate zsh... ; rm -rfv ~/.antigen/ ; [ ! -d ~/.antigen ] && mkdir -p ~/.antigen && curl -L git.io/antigen > ~/.antigen/antigen.zsh; source ~/.zshrc'
alias nconsole='tmux new-s -s Console'
# 設定を反映するためのエイリアス
alias restart=". ~/.zshrc"
# 長いコマンドの省略
alias docker-compose-dev='docker-compose -f docker-compose.dev.yml'
# 日本語のファイル名でも表示できるようにする
alias tree="tree -N"
# 色付き出力に対応する
alias less="less -R"
# ls関連、h: ファイルサイズをKB, GB表示する。glsはGNU版のlsをMacにインストールした場合
alias ls='gls --color'
alias ll='gls -lh --color'
alias la='gls -lah --color'
# ファイル削除をゴミ箱に移動に変える。 `brew install macos-trash` が必要
alias rm="trash"

antigenモジュール関連

fish の使い心地の良さを再現するために色々入れています。

zsh-users/zsh-syntax-highlighting  # コマンドの打ち間違いを分かりやすくする(存在しないコマンドが赤くなる)
zsh-users/zsh-autosuggestions
zsh-users/zsh-completions
zsh-users/zsh-history-substring-search  # インクリメンタルサーチをコマンド入力後上矢印を押すことでできるようにする

キーバインド関連

bindkey -e
bindkey "^?"    backward-delete-char
bindkey "^U"    backward-kill-line

bindkey '^[[Z' reverse-menu-complete

bindkey '^[[A' history-substring-search-up
bindkey '^[[B' history-substring-search-down
bindkey "$terminfo[kcuu1]" history-substring-search-up
bindkey "$terminfo[kcud1]" history-substring-search-down

bindkey '^[[L' forward-word

bindkey '[C' forward-word
bindkey '[D' backward-word

cdpath の設定

ホームディレクトリ、ドキュメントディレクトリ、開発ディレクトリ(GitHubのソースを落としてきたときに使うディレクトリ)直下のディレクトリに素早く移動できるようにします。

cdpath=($HOME $HOME/Documents $HOME/Development $cdpath)
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
0
Help us understand the problem. What are the problem?