私のzshrcの推しポイント

by
カテゴリ:

私のzshrcの推しポイントを簡単にまとめておく

zshrcはGitHubで管理しているので、推しポイントへのリンクも適宜掲載しておく

プロンプト

https://github.com/atusy/dotfiles/blob/c654f90e8ec9ebbc18543d8f0349f7f8202f20c0/dot_zshrc#L20-L36

  • プロンプトを2行に分ける
    • 1行目は作業ディレクトリ、git status、kubernetesのコンテキスト
    • 2行目は実行したいコマンドを入力する場所
    • 2行に分けると1行目が長くてもコマンドの入力開始位置が右に寄らず済む
  • 作業ディレクトリの表示は後半の3階層分のみ
    • ホントに知りたい時はpwdすればいいだけ
  • Git statusの表示は woefe/git-prompt.zshgitprompt 関数に依存
    • でもプラグインの読み込みに失敗した時とかにエラーが出て欲しくないので、プラグイン読み込み前に、無能な gitprompt 関数を定義してある

      function gitprompt {
        :
      }
  • Kubernetesのコンテキストは事故防止のため表示しておく

エイリアス

コマンドを好みのエディタで編集

↓を仕込んでおくと、<CTRL-X><CTRL-E>で入力中のコマンドを好きなエディタで編集できる

export EDITOR=nvim  # 好きなエディタ
autoload -Uz edit-command-line
zle -N edit-command-line
bindkey "^x^e" edit-command-line

私はNeovim内でNeovimが入れ子になるのを防ぐため、ちょっと工夫を凝らしている

補完

プラグイン

  • yuki-yano/zeno.zsh
    • 作者による紹介記事
    • スニペットの展開
      • top + スペースを入力したら、htopに展開するなど、better somethingへのエイリアスをスニペットとして展開し、自分が本当に使っているコマンドが何か常に意識できるようにする
      • ping + スペースを入力したら、ping -c 5に展開するなど、常用する引数をスニペットに登録して、入力を短縮する
    • fzfによる補完
      • git操作
      • ghqで管理しているレポジトリのディレクトリへのcd
      • Command historyの入力
  • atusy/gh-fzf
  • mollifier/cd-gitroot
    • cd-gitrootコマンドでGitでバージョン管理しているディレクトリの深い層からプロジェクトルートへ飛べる
    • alias gd='cd-gitroot'している