背景 .zsh_historyを見たらlsコマンド打ちすぎなことに気がついた 解決案 コマンドライン空でEnter押したらlsしてほしい 解決するコード alls() { zle accept-line if [[ -z "$BUFFER" ]]; then echo '' ls fi } zle -N alls bindkey "\C-m" alls 解説 もともとのEnterは、zleのwidgetであるaccept-lineが割り当てられている。 なので、bindkeyで割り当て直して、accept-lineしつつコマンドラインのBUFFERを調べて、空ならlsを実行するようにしている。 その他改善案 chpwd hookで、cdのたびにlsされるようにする filerなどを有効活用する alias l=lsとかで満足する