• home
  • about
  • 全ての投稿
  • ソフトウェア・ハードウェアの設定のまとめ
  • 分析関連のまとめ
  • ヘルスケア関連のまとめ
  • 生涯学習関連のまとめ

zsh

date: 2021-02-06 excerpt: zsh の tips

tag: zshshell


zsh の tips

インストール

macOS

$ brew install zsh

デフォルトの shell を zsh にする

$ chsh -s $(which zsh)
  • root ユーザでこの変更を行うのは root でログインできなくなる可能性がありリスクがある

プラグインで機能を拡張する

  • 詳細は /zsh-antigen/

キーバインド

  • 詳細は /zsh-keybind/

zsh の構文と具体例

  • 詳細は /zsh-syntax/

トラブルシューティング

環境変数を適切に設定しているのに、lsコマンド等で文字化けが起きるとき

  • 原因
    • 何らかの影響でlocalesパッケージが不整合を起こしていることがあった
  • 対応
    • 以下のコマンドでja_JP.UTF-8に設定し直すことで治った事があった
$ sudo dpkg-reconfigure locales

終端文字%が正しくハンドルされなくて描画がずれる時

  • 原因
    • zsh の機能の1つで終端文字を stdin がキャッチできないとき % で代替する機能がありハンドルにミスると terminal が崩壊する
  • 対応
    • resetを入力する
$ reset
  • 参考

ctrl+a, ctrl+eでzshで移動できない(^A, ^Eが入力されてしまう)

  • 原因
    • ctrl+a, ctrl+eがハンドルされていない
  • 対応
    • .zshrc と .tmux.conf で Emacs スタイルを適用すると入力できる

.zshrc

bindkey -e

.tmux.conf

set -g mode-keys emacs
set -g status-keys emacs
  • 参考

sudoしたときユーザ定義のaliasを引き継ぐ

alias sudo="sudo "
  • 参考

zsh compinit: insecure directories...と警告がでる

  • 原因
    • zsh のモジュールがセキュアな設定になっていないことが原因
    • Homebrew の zsh 補完などが原因で出ることがある
  • 対応
    • compaudit で出力される内容をユーザ only のパーミッションにすることで修正できる
$ compaudit | xargs chmod g-w
  • 参考


zshshell Share Tweet