2019年2月9日
Macの調子が悪くて再インストール。最近はOneDriveやGoogle Drive、GitHubにデータがあるので再インストールコストがかなり下がっている。
macOS Mojave 10.14.3を入れ直し。
必要アプリは
古くて新しいMacがやってきた に書いてある感じのApplicationを入れたらOK
この記事は2018年11月のApplicationなので3ヶ月たってもあまり変更無かった。
今回はTerminal周りの環境を整えてみる。最近はiTerm + zsh +
prezto の組合せで使っていたのでその環境で作ってみる。参考記事は
Macの開発環境をzshで良い感じにする あたりにまんま書かれています。
prezto prezto とは公式サイトによると
Prezto is the configuration framework for Zsh; it enriches the command line interface environment with sane defaults, aliases, functions, auto completion, and prompt themes.
だそうな^^;;
必要アプリのインストール $ brew install zsh git
$ zsh
$ git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-$HOME}/.zprezto"
prezto 設定
$ setopt EXTENDED_GLOB
for rcfile in "${ZDOTDIR:-$HOME}"/.zprezto/runcoms/^README.md(.N); do
ln -s "$rcfile" "${ZDOTDIR:-$HOME}/.${rcfile:t}"
done
shell追加
/usr/local/bin/zshを/etc/shellsに追加しておきます。
shell 変更 $ chsh -s /usr/local/bin/zsh
prezto にはいろいろなThemeがありますが私はデフォルトを利用しています。時間を見つけて色々見た目の変更はしてみたい。
zsh-completions zsh-completions はzshの補完機能を強化してくれるツール。すぐに引数忘れる私には有り難いツール^^;;
Install $ brew install zsh-completions
設定 $ echo "fpath=(path/to/zsh-completions/src $fpath)" >> ~/.zshrc
$ rm -f ~/.zcompdump; compinit
確認
引数が補完されるかテスト
その他
ついでにaws cliの補完機能も有効化します。
echo "source /usr/local/share/zsh/site-functions/aws_zsh_completer.sh" >> ~/.zshrc
これもついでにテスト
peco
pecoは標準出力を
インクリメンタルサーチ してくれるコマンド。
インクリメンタルサーチなので1文字ごとにサーチしてくれるのは良い感じ。
Install $ brew install peco
設定
~/.zshrcに追加
function peco-history-selection() {
BUFFER=$(history 1 | sort -k1,1nr | perl -ne 'BEGIN { my @lines = (); } s/^\s*\d+\*?\s*//; $in=$_; if (!(grep {$in eq $_} @lines)) { push(@lines, $in); print $in; }' | peco --query "$LBUFFER")
CURSOR=${#BUFFER}
zle reset-prompt
}
zle -N peco-history-selection
bindkey '^R' peco-history-selection
これでControl + rでコマンドの履歴も同じようにインクリメンタルサーチしてくれます。