Help us understand the problem. What is going on with this article?

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

More than 5 years have passed since last update.

とある方の
"エンターだけで 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 の設定は以下にあるので良ければどうぞ。

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

yuyuchu3333
[豆腐メンタルにつき取り扱い注意] お気軽にフォロー下さい。 Twitterもフォローしてくれると喜びます。 (Blog - http://yonchu.hatenablog.com/)
http://yonchu.hatenablog.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away