文章目录
-
- [1.1 zsh 和 bash 的区别](#1.1 zsh 和 bash 的区别)
-
- [1.1.1 oh-my-zsh 介绍](#1.1.1 oh-my-zsh 介绍)
- [1.1.2 zsh 插件 zsh-autosuggestions.zsh](#1.1.2 zsh 插件 zsh-autosuggestions.zsh)
1.1 zsh 和 bash 的区别
在Linux环境下,Bash和Zsh都是非常常见的Shell环境,它们都可以用来执行命令行指令,运行脚本等,但是它们之间也有一些主要的区别:
-
交互性: Zsh提供了更强大的交互性特性,例如更好的自动补全、拼写纠正等功能。而Bash的交互性特性相对较弱;
-
配置: Zsh有一个交互式配置器,可以用来定制你的shell环境。而Bash的配置过程通常需要编辑
.bashrc
或.bash_profile
文件; -
兼容性: Bash 几乎在所有的 Unix系统中都是默认的shell环境,它的脚本在几乎所有的Unix和Linux系统上都能运行。而Zsh虽然在大多数系统上都能运行,但是它并不是所有系统的默认shell环境;
-
社区支持: Bash有着大量的用户和社区支持,因此你能找到很多关于Bash的教程和资源。而Zsh虽然也有一定的用户基础,但相比Bash来说,其用户群体和社区支持相对较小;
-
插件和主题:Zsh有一个名为Oh-My-Zsh的社区驱动的框架,其中包含了大量的插件和主题,帮助用户个性化和增强自己的Shell环境。而Bash则缺乏类似的框架,用户需要手动配置和安装插件。
1.1.1 oh-my-zsh 介绍
以下是一些Oh-My-Zsh的主要特性:
-
插件系统:Oh-My-Zsh提供了一套插件系统,有超过200个可选的插件,包括git、npm、ruby等常用开发工具的快捷命令;
-
主题系统:Oh-My-Zsh提供了一个主题系统,有很多美观的主题可供选择,可以个性化你的命令行界面;
-
自动升级:Oh-My-Zsh会定期自动检查并下载升级,保持你的Shell环境始终是最新的;
-
高度可定制:Oh-My-Zsh允许用户在~/.zshrc文件中添加自己的别名、函数和脚本,使得你的Zsh环境可以根据自己的需求进行定制;
-
社区驱动:Oh-My-Zsh是社区驱动的项目,有很多活跃的贡献者和用户,你可以轻松找到解答你问题的人和资源。
安装Oh-My-Zsh
后,你可以非常方便地使用和管理Zsh的功能,以及定制你自己的Zsh
环境。
1.1.2 zsh 插件 zsh-autosuggestions.zsh
比如 zsh-autosuggestions.zsh 的配置可以参考下面步骤:
1 mkdir ~/.zsh && cd ~/.zsh
2 git clone git@github.com:ohmyzsh/ohmyzsh.git
3 git clone git@github.com:zsh-users/zsh-autosuggestions.git
需要的文件下载下来后如果电脑可以联网可以直接按照提示操作进行安装,如果个人在公司电脑没有安装权限(有些公司都是登陆公司远程服务器办公,员工没有软件安装权限),可以自己在家目录下建立一个 .zsh ,然后定制自己的 .zshrc, 当前也可以网上参考别人的。
我的简单配置如下:
shell
# Path to your oh-my-zsh installation.
# ZSH_THEME="ys_nogit"
ZSH_THEME="ys"
# Uncomment the following line to disable bi-weekly auto-update checks.
DISABLE_AUTO_UPDATE="true"
# Would you like to use another custom folder than $ZSH/custom?
# ZSH_CUSTOM=/path/to/new-custom-folder
# Which plugins would you like to load?
# Standard plugins can be found in $ZSH/plugins/
# Custom plugins may be added to $ZSH_CUSTOM/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup.
plugins=(
git
pip
sudo
last-working-dir
)
source $ZSH/oh-my-zsh.sh
source /mnt/user_home/dami/.zsh/zsh-autosuggestions/zsh-autosuggestions.zsh
...