LoginSignup
235
229

More than 5 years have passed since last update.

Enter で ls と git status を表示すると便利

Last updated at Posted at 2013-07-03

とある方の
"エンターだけで ls と git status 表示するようにしてある"
というつぶやきを見て便利そうだと思ったのでやってみました。

qiita_do_enter.png

基本的なやり方は以下の記事が参考になりました。

ただ、上記方法では私の環境の場合、プロンプトが1回余分に表示されてしまって気持ちが悪いので、その辺りも手を加えました。

Installation

以下スクリプトを .zshrc に記述すれば、何も入力されていない状態で Enter を打つだけで lsgit status が表示されるようになります。

.zshrc
function do_enter() {
    if [ -n "$BUFFER" ]; then
        zle accept-line
        return 0
    fi
    echo
    ls
    # ↓おすすめ
    # ls_abbrev
    if [ "$(git rev-parse --is-inside-work-tree 2> /dev/null)" = 'true' ]; then
        echo
        echo -e "\e[0;33m--- git status ---\e[0m"
        git status -sb
    fi
    zle reset-prompt
    return 0
}
zle -N do_enter
bindkey '^m' do_enter

ls は以下記事の ls_abbrev を使用するのがお勧めです。

Enter はちょっとやり過ぎという方は別のキーに割り当てると良いでしょう。

おわり

lscd の入力をどれだけ減らせるかというのは、ターミナル使用者の力量が問われる部分ではないでしょうか。
(最近Twitterで cd後のls や mkdir後のls/cd の話が少し話題になってましたね)

そんな私の zsh の設定は以下にあるので良ければどうぞ。

また、良いアイディアやアドバイスなどありましたら教えてください。

235
229
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
235
229