LoginSignup
1
1

More than 5 years have passed since last update.

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

Posted at

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
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1