Zsh (简体中文) - ArchWiki (archlinux.org)
安装
安装zsh(本体)和zsh-completions(补全)两个包
之后运行zsh进行首次运行配置,如果没有,则autoload -Uz zsh-newuser-install与zsh-newuser-install -f。请确保Shell界面大于72*15。设置结束后就可以用zsh启动Zsh了。
将Zsh设为用户的默认Shell
Command-line shell - ArchWiki (archlinux.org)
chsh指令
chsh -s /usr/bin/zsh
对于konsole和yakuake两个终端模拟器,重新启动plasma之后就会自动换到Zsh
设置自动补全:
(设置文件 ~/.zshrc 可以在第一次启动时随提示生成)
autoload -Uz compinit
compinit
如果要设置方向键选择补全*,则添加:
zstyle ':completion:*' menu select
*按tab一下显示可选项,按tab两下则进入选择菜单
如果要启动别名补全,则添加:
setopt completealiases
历史记录设置:
消除历史记录重复项目
setopt HIST_IGNORE_DUPS
按键绑定:
这个网页提供了一些标准例子帮助设置Zsh
首先启动相应配置
if (( ${+terminfo[smkx]} && ${+terminfo[rmkx]} )); then
autoload -Uz add-zle-hook-widget
function zle_application_mode_start { echoti smkx }
function zle_application_mode_stop { echoti rmkx }
add-zle-hook-widget -Uz zle-line-init zle_application_mode_start
add-zle-hook-widget -Uz zle-line-finish zle_application_mode_stop
fi
这些将确定Zsh运行在应用模式,因为只有这时terminfo才能使用
使用terminfo将按键解释为更加可读的形式:
terminfo(5) — Arch manual pages (archlinux.org)
typeset -g -A key #建立key数组
key[Up]=”$terminfo[kcuu1]” #将kcuu1在terminfo中查询的结果赋值到Up
key[Down]=”$terminfo[kcud1]” #与上面类似
之后将按键与功能绑定。以下例子可以将上下箭头分别绑定到up-line-or-history 和 down-line-or-history
[[ -n “$key[Up]” ]] && bindkey “$key[Up]” up-line-or-history
[[ -n “$key[Down]” ]] && bindkey “$key[Down]” down-line-or-history
更多的指令见
zshzle(1) — Arch manual pages (archlinux.org)
zshcontrib(1) — Arch manual pages (archlinux.org)
*有一些指令需要使用autoload加载,比如up-line-or-beginning-search和down-line-or-beginning-search(向前搜索历史或上一行),甚至还需要zle -N up-line-or-beginning-search 加载到zle中才能用。但是具体哪些我还没有搞清楚
Prompt设置:
使用oh-my-zsh可以将Zsh设置得更加漂亮的,但Arch只在AUR中提供这个软件包,Manjaro可以直接安装oh-my-zsh。
另外我对于主题的要求不高,只要能提供足够的信息并且比较好看就可以了。
初始化prompt
autoload -Uz promptinit
promptinit
查看prompt中的可用主题及其效果
prompt -p
其中的fade主题我觉得可以,且可以带有参数设置(带blue参数)
prompt fade blue