开发工具 开始 zsh 最小化配置

loyaqua · 2020年08月13日 · 1453 次阅读

oh-my-zsh 用久了总感觉有点臃肿,时不时还需要更新(不觉得这玩意需要经常更新),我只需要精简的无需(经常)变动的 zsh 配置,或许我只是个控制狂,正如我不喜欢 rvm 而用 chruby 那样。

zsh 本身已经很强大了,只不过默认功能都是关闭的而已。一些精简的框架比如 prezto 和 pure 所做的也只是打开了一部分默认功能(还有一个漂亮的 prompt)。

备份和删除所有 zsh 相关配置,编辑 .zshrc 开始配置:

Tab 补全

autoload -Uz compinit && compinit # 打开默认补全功能
setopt complete_in_word         # 光标在词中间也补全
setopt auto_menu                
setopt autocd                   # 输入文件夹名直接 cd 进去
ZLE_REMOVE_SUFFIX_CHARS=$' \t\n;&' # 删除补全生成多余 space

ls、ll、la

# 解决 Linux 和 macOS 的 ls 选项不兼容
ls --version &>/dev/null
if [ $? -eq 0 ]; then
    lsflags="--color --group-directories-first -F"
else
    lsflags="-GF"
    export CLICOLOR=1
fi

alias ls="ls ${lsflags}"
alias ll="ls ${lsflags} -l"
alias la="ls ${lsflags} -la"

git 相关

alias gd="git diff"
alias gs="git status 2>/dev/null"
function gc() { git clone ssh://[email protected]/"$*" }
function gg() { git commit -m "$*" }

# !!!以下只适用于 macOS !!! ,按 gto 直接从命令行调用浏览器打开项目主页
function gto() { git remote -v | awk '/origin.*push/ {print $2}' | xargs open }

根据自己实际需要的功能一步步增加配置,这个过程也能思索哪些是必要的,发现增加一些方便的功能。

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请 注册新账号