Macに乗り換えた時のshell環境のメモ

Macに乗り換えて、シェル環境を色々と触ったので、忘備録として。

(ほとんど100万番煎じですが)


サマリー


  • zsh インストール

  • prezto インストール

  • VSCode setting.json修正

  • ~/.bashrc ~/.bash_profile → ~/.zshrc へ引っ越し

  • gcloud SDK 起動しない。。

  • peco を使った便利機能


zsh インストール


  • brew で最新の zsh インストール


$ brew install zsh



  • /usr/local/bin/zsh にインストールされるので、  /etc/shells にシェルを追記する。

$ sudo vim /etc/shells

/usr/local/bin/zsh を追記する


  • 使うシェルを切り替える
    以下コマンドでシェルを切り替える

$ chsh -s /usr/local/bin/zsh


prezto インストール

prezto は zsh を設定するための framework で、こまけぇこたぁいいから、簡単に良い感じでそれっぽくしてくれ。人向き


  • git からダウンロード

$ git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-$HOME}/.zprezto"


  • 既存の .z~ 系のファイルとシンボリックリンクを作る

$ setopt EXTENDED_GLOB

for rcfile in "${ZDOTDIR:-$HOME}"/.zprezto/runcoms/^README.md(.N); do
ln -s "$rcfile" "${ZDOTDIR:-$HOME}/.${rcfile:t}"
done


  • テーマを変える

いい感じなのは、 pure か steeef か sorin だそうです。

ここ にテーマがあります。

テーマが決まったら、.zpreztorc ファイルに書き込みます。


.zpreztorc

zstyle ':prezto:module:prompt' theme 'sorin'


Gitのブランチを表示するには、Preztoのモジュールにgitを追加する。


.zpreztorc

zstyle ':prezto:load' pmodule \

'environment' \
'terminal' \
'editor' \
'history' \
'directory' \
'spectrum' \
'utility' \
'completion' \
'prompt' \
'git'

こんな感じになる。

image.png


VSCode setting.json修正


  • VSCodeの起動シェルを変更する。

Code → 基本設定 → 設定 で以下を /usr/local/bin/zsh に変更

Terminal › Integrated › Shell: Linux

Terminal › Integrated › Shell: Osx

settings.json を直接変更する場合。


settings.json

    "terminal.integrated.shell.linux": "/usr/local/bin/zsh",

"terminal.integrated.shell.osx": "/usr/local/bin/zsh",


~/.bashrc ~/.bash_profile → ~/.zshrc へ引っ越し

aliase や環境変数や関数やらなんやら、要るものを持っていきます。


gcloud SDK 起動しない

公式の ここ でインストールし、

bash の時は、~/.bashrcに以下記載がありました。


~/.bashrc

# The next line updates PATH for the Google Cloud SDK.

if [ -f '/Users/andormeda/y/google-cloud-sdk/path.bash.inc' ]; then . '/Users/andormeda/y/google-cloud-sdk/path.bash.inc'; fi

# The next line enables shell command completion for gcloud.
if [ -f '/Users/andormeda/y/google-cloud-sdk/completion.bash.inc' ]; then . '/Users/andormeda/y/google-cloud-sdk/completion.bash.inc'; fi


何て事はなく、bash を zsh に変更すればうまく動きました。


~/.zshrc

# The next line updates PATH for the Google Cloud SDK.

if [ -f '/Users/andormeda/y/google-cloud-sdk/path.zsh.inc' ]; then . '/Users/andormeda/y/google-cloud-sdk/path.zsh.inc'; fi

# The next line enables shell command completion for gcloud.
if [ -f '/Users/andormeda/y/google-cloud-sdk/completion.zsh.inc' ]; then . '/Users/andormeda/y/google-cloud-sdk/completion.zsh.inc'; fi



peco を使った便利機能

大分有名ですが、history をインクリメンタルサーチするやつです。


  • peco のインストール

brew でインストール

brew install peco

~/.zshrcに以下を追記

control + r にキーバニンドを割り当ててます。


~/.zshrc

# peco peco-select-history

function peco-select-history {
BUFFER=`history -n -r 1 | peco --query "$LBUFFER"`
CURSOR=$#BUFFER
zle reset-prompt
}
zle -N peco-select-history
bindkey '^r' peco-select-history

よく実行するコマンドをテキスト「~/.command」にまとめておいて、同じくインクリメンタルサーチして使えます。

control + t にキーバニンドを割り当てます。


~/.zshrc

# peco-snippets

function peco-snippets() {
BUFFER=$(grep -v "^#" ~/.command | peco --query "$LBUFFER")
zle reset-prompt
}
zle -N peco-snippets
bindkey '^t' peco-snippets