zsh 技巧一则

其实这条配置在 eshell 里面用了很久了,用 zsh 的同学可能没有注意。

相当简单:空行的时候按回车,执行 ls

“cd ....”之类,会根据点的个数补全路径,比如 “...” 补全为 “../../”,“....” 补全为 “../../..”

配合我修改的 tab 键:空行 tab 出 “cd ”,自己点点点后回车,O 了

user-ret(){
    if [[ $BUFFER = "" ]] ;then
        BUFFER="ls"
        zle end-of-line
        zle accept-line
    elif [[ $BUFFER =~ "^cd\ ...+$" ]] ;then
        BUFFER=${${BUFFER//./..\\/}/..\\//}
        zle end-of-line
        zle accept-line
    else
        zle accept-line
    fi
}
zle -N user-ret
bindkey "\r" user-ret

Read More: