22.9 配置 Shell
Zsh
安装 Zsh
使用 pkg 安装:
# pkg install zsh zsh-completions zsh-autosuggestions zsh-syntax-highlightingzsh
zsh shell
zsh-completions
自动补全
zsh-autosuggestions
类 Fish shell 的 Zsh 自动补全
zsh-syntax-highlighting
类 Fish shell 的 Zsh 语法高亮
使用 ports 安装:
# cd /usr/ports/shells/zsh/ && make install clean
# cd /usr/ports/shells/zsh-completions && make install clean
# cd /usr/ports/shells/zsh-autosuggestions/ && make install clean
# cd /usr/ports/shells/zsh-syntax-highlighting/ && make install clean查看安装后说明
# pkg info -D zsh
zsh-5.9_5:
On install:
==========================================================
By default, zsh looks for system-wide defaults in
/usr/local/etc.
If you previously set up /etc/zprofile, /etc/zshenv, etc.,
either move them to /usr/local/etc or rebuild zsh with the
ETCDIR option enabled.
==========================================================
root@ykla:/home/ykla # pkg info -D zsh-autosuggestions
默认情况下,zsh 会在 /usr/local/etc 中查找系统范围的默认设置。
如果你之前设置了 /etc/zprofile、/etc/zshenv 等,
要么将它们移到 /usr/local/etc,要么在启用 ETCDIR 选项的情况下重新构建 zsh。
==========================================================配置 Zsh
编辑 ~/.zshrc,添加下面几行:
立即使用:
使用主题美化
刷新环境变量
回答几个问题即可完成配置。重启后完成配置。
参考文献
Powerlevel10k。主题项目官网
Bash
安装 Bash
使用 pkg 安装:
解释:
bash shell 主程序
bash-completion-freebsd 针对 FreeBSD 的 Bash 补全库扩展,作为依赖安装会 shells/bash-completion
bash-completion-zfs 针对 OpenZFS 的 Bash 补全库扩展
使用 ports 安装:
查看安装后配置
配置 Bash
写入所需变量:
编辑 ~/.bash_profile,写入
立即使用:
配置 csh/tcsh
csh(C shell,灵感来自 C 语言,语言亦类似,作者是 Bill Joy)是 FreeBSD 基本系统内置的 shell,过去 是 root 用户的默认 shell。
技巧
csh 与 tsch 的关系
有必要注意的是,FreeBSD 中 csh 就是 tcsh。二者没有区别。你从源代码 https://github.com/freebsd/freebsd-src/blame/main/bin/csh/Makefile 就能看出来,同时 man csh 也会被重定向至 tcsh。
注意
虽然 csh tsch 本质上都是一款程序,但是使用时二者有明显的不同,如果以 csh 之参数来调用,则会关闭部分 tcsh 扩展。
注意
如何使得文件文件夹显示不同颜色:
在 ~/.csh.cshrc 里面加入:
并重新登录即可。
如何让 FreeBSD 的 csh 像 bash 那样按 Tab 列出列出无法补齐的候选文件?在
~/.csh.cshrc中加入:
刷新环境变量:
如何让 csh 像 zsh 那样具有命令错误修正呢
比如你用 emacs 写 c 语言程序,但当你输完 emacs ma 按 Tab 键 回车时:他会匹配所有 ma 开头的文件。而此配置是对部分匹配的文件进行忽略,也即按 Tab 时不会再有被你忽略的东西。编程友好,不会再匹配到二进制 .o 之类的文件:
最后更新于
这有帮助吗?