Skip to content

Instantly share code, notes, and snippets.

@soy-curd
Created October 4, 2015 05:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save soy-curd/c46b358e6af0c0a06762 to your computer and use it in GitHub Desktop.
Save soy-curd/c46b358e6af0c0a06762 to your computer and use it in GitHub Desktop.
# curl等でパターンマッチしない
setopt nonomatch
# prompt
# LEFT
PROMPT='[%n]%'
# RIGHT
RPROMPT='[%d]'
# pyenvのパス
export PYENV_ROOT="${HOME}/.pyenv"
export PATH="${PYENV_ROOT}/shims:${PYENV_ROOT}/bin:${PATH}"
# history file path
export HISTFILE=${HOME}/.zsh_history
export SAVEHIST=1000
# Emacs ライクな操作を有効にする(文字入力中に Ctrl-F,B でカーソル移動など)
# Vi ライクな操作が好みであれば `bindkey -v` とする
bindkey -e
# 自動補完を有効にする
# コマンドの引数やパス名を途中まで入力して <Tab> を押すといい感じに補完してくれる
# 例: `cd path/to/<Tab>`, `ls -<Tab>`
autoload -U compinit; compinit
# 入力したコマンドが存在せず、かつディレクトリ名と一致するなら、ディレクトリに cd する
# 例: /usr/bin と入力すると /usr/bin ディレクトリに移動
setopt auto_cd
# ↑を設定すると、 .. とだけ入力したら1つ上のディレクトリに移動できるので……
# 2つ上、3つ上にも移動できるようにする
alias ...='cd ../..'
alias ....='cd ../../..'
# "~hoge" が特定のパス名に展開されるようにする(ブックマークのようなもの)
# 例: cd ~hoge と入力すると /long/path/to/hogehoge ディレクトリに移動
hash -d hoge=/long/path/to/hogehoge
# cd した先のディレクトリをディレクトリスタックに追加する
# ディレクトリスタックとは今までに行ったディレクトリの履歴のこと
# `cd +<Tab>` でディレクトリの履歴が表示され、そこに移動できる
setopt auto_pushd
# pushd したとき、ディレクトリがすでにスタックに含まれていればスタックに追加しない
setopt pushd_ignore_dups
# 拡張 glob を有効にする
# glob とはパス名にマッチするワイルドカードパターンのこと
# (たとえば `mv hoge.* ~/dir` における "*")
# 拡張 glob を有効にすると # ~ ^ もパターンとして扱われる
# どういう意味を持つかは `man zshexpn` の FILENAME GENERATION を参照
setopt extended_glob
# 入力したコマンドがすでにコマンド履歴に含まれる場合、履歴から古いほうのコマンドを削除する
# コマンド履歴とは今まで入力したコマンドの一覧のことで、上下キーでたどれる
setopt hist_ignore_all_dups
# コマンドがスペースで始まる場合、コマンド履歴に追加しない
# 例: <Space>echo hello と入力
setopt hist_ignore_space
# <Tab> でパス名の補完候補を表示したあと、
# 続けて <Tab> を押すと候補からパス名を選択できるようになる
# 候補を選ぶには <Tab> か Ctrl-N,B,F,P
zstyle ':completion:*:default' menu select=1
# 単語の一部として扱われる文字のセットを指定する
# ここではデフォルトのセットから / を抜いたものとする
# こうすると、 Ctrl-W でカーソル前の1単語を削除したとき、 / までで削除が止まる
WORDCHARS='*?_-.[]~=&;!#$%^(){}<>'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment