Zsh 安装与配置,是一项重要的任务 - 汇站网

Zsh 安装与配置,是一项重要的任务

2023-12-29 0 896

正文:

zsh 是一种类似于 bash、sh、csh 等命令行解释器的 Unix shell。它是一种交互式的 shell,用户可以在终端中输入命令并与操作系统进行交互。zsh 最初是为了扩展 bash 的功能而创建的,但现在已经成为了一种非常受欢迎的 shell。

与 bash 相比,zsh 有许多优点,包括以下几个方面:

1. 自动补全:zsh 的自动补全功能比 bash 更强大。它可以根据当前光标位置和历史记录,自动推测出用户想输入的命令或参数,极大地提高了操作效率。

2. 主题和插件:zsh 具有丰富的主题和插件库,用户可以通过这些扩展来改善其外观和功能。

3. 强大的别名:zsh 支持复杂的别名,这些别名可以包含参数、条件和内嵌命令。

4. 可定制性:zsh 允许用户自定义其外观、行为和键绑定,以满足个人偏好和需求。

5. 强大的历史命令:zsh 的历史命令比 bash 更强大,可以实现更高级的搜索和过滤功能。

1、安装

运行如下命令即可安装。

apt install git zsh -y

刚刚安装的 zsh 非常简单,功能也比较有限。因此,我们需要安装 oh-my-zsh,它提供了一套预先配置好的Zsh配置文件、主题和插件,使得我们可以轻松地定制和管理 zsh。

# curl 安装
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
# wget 安装
sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
# fetch 安装
sh -c "$(fetch -o - https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
# 卸载
# uninstall_oh_my_zsh 

如果你的网络不好,可能无法下载以上命令。毕竟,这些命令是从 GitHub 上获取的。这种情况下,你可以在一台可以访问脚本的机器上将内容复制到一个新建的脚本中,然后进行安装。

2.配置

所有的配置修改后都需要执行:

source ~/.zshrc

其他配置

为了更好的使用 zsh 的功能,准备将历史记录的条数增大一点,编辑 ~/.zshrc 文件,添加如下内容。

# 修改 zcompdump 生成的文件目录
source /etc/profile
export ZSH_COMPDUMP=$ZSH/cache/.zcompdump-$HOST
 
# 记录历史命令的文件
HISTFILE=~/.history
# 内存中记录历史命令条数
HISTSIZE=10000
# 历史文件中保存的历史命令数
SAVEHIST=10000
# 不同的终端会话历史命令合并到同一历史文件
setopt appendhistory
 
# 在 source $ZSH/oh-my-zsh.sh 之前配置升级相关内容
# 始终回复否从不升级,可以通过 omz update 进行更新
DISABLE_AUTO_UPDATE=true
# 始终回复是并自动升级
#DISABLE_UPDATE_PROMPT=true

使用 history -f 可以查看命令运行的时间。

修改主题

zsh 有很多主题可选择,主题链接:https://github.com/ohmyzsh/ohmyzsh/wiki/Themes

选择 ~/.zshrc 文件,修改主题名称即可。

#ZSH_THEME="robbyrussell"
ZSH_THEME="agnoster"

这里可能报错:

(anon):12: character not in range

在 ~/.zshrc 文件添加如下内容即可:

export LC_ALL=C.UTF-8
export LANGUAGE=C.UTF-8
export LANG=C.UTF-8

此外,可能还需要修改命令行的用户名或主机名。

全部隐藏

prompt_context(){}

只隐藏主机

prompt_context() {
  if [[ "$USER" != "$DEFAULT_USER" || -n "$SSH_CLIENT" ]]; then
    prompt_segment black default "%(!.%{%F{yellow}%}.)$USER"
  fi
}

只隐藏用户名

prompt_context() {
  if [[ "$USER" != "$DEFAULT_USER" || -n "$SSH_CLIENT" ]]; then
    prompt_segment black default "%(!.%{%F{yellow}%}.)$HOST"
  fi
}

还可以限制显示的目录数,比如最大只显示三个:

prompt_dir() {
   prompt_segment blue $CURRENT_FG '%3~'
}

添加插件

插件列表:https://github.com/ohmyzsh/ohmyzsh/wiki/Plugins-Overview

这里只安装比较重要的两个插件:

zsh-autosuggestions 插件:根据已经输入的命令,自动显示可能的补全建议
zsh-syntax-highlighting 插件:高亮显示命令行语句

# 安装 zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
# 安装 zsh-syntax-highlighting
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting 

然后编辑 ~/.zshrc 文件,找到 plugins 选项:

plugins=(
        zsh-autosuggestions
        zsh-syntax-highlighting
        docker
        z
        per-directory-history
        colored-man-pages
)

命令别名

以下是我的重命名,请根据自己需要进行设置。

# systemctl
alias syse='sudo systemctl enable --now'
alias sysd='sudo systemctl disable --now'
alias sysr='sudo systemctl restart'
alias syss='sudo systemctl status'
 
# tmuxalias tl='tmux ls'
alias tlw='tmux list-windows'
alias tlp='tmux list-panes'
alias tka='tmux kill-server'
alias tks='tmux kill-session'
alias ta='tmux a -t dev || tmux new -t dev'
 
# docker
alias dp='docker ps'
alias dr='docker restart'
alias dl='docker logs'  
alias dlf='docker logs -f'
alias dei='docker exec -it'
alias din='docker inspect -f "{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}"'
alias runlike='docker run --rm -v /var/run/docker.sock:/var/run/docker.sock assaflavie/runlike -p'
# 清理相关
alias dsd='docker system df'
alias dcp='docker container prune'
alias dvp='docker volume prune'
alias dip='docker image prune'
alias dsp='docker system prune'
alias dspa='docker system prune -a'
 
# other
alias dh='du -h ./ -d 1' # 查看当前目录占用
alias psg='ps aux | grep' 
alias ng='netstat -autnp | grep'
alias wget='wget -c' # 支持断点续传
alias now='date "+%Y-%m-%d %H:%M:%S"' # 查看并格式化当前时间
alias size='f(){ du -sh $1* | sort -hr; }; f' # 查看文件/目录大小 - size /
alias sek='f(){ find / -name $1; }; f' # 在根目录查找文件 - sek test
alias sekc='f(){ find ./ -name $1; }; f' # 在当前目录查找文件 - sekc test
alias ipe='curl ipinfo.io/ip' #  查看当前公网 ip

转载请注明:汇站网 » Zsh 安装与配置,是一项重要的任务

收藏 (0)

微信扫一扫

支付宝扫一扫

点赞 (0)

感谢您的来访,获取更多精彩资源请收藏本站。

本站声明

本资源仅用于个人学习和研究使用,禁止用于任何商业环境!

 1.  本网站名称:汇站网
 2.  本站永久网址:https://www.huizhanii.com/
 3.  本站所有资源来源于网友投稿和高价购买,所有资源仅对编程人员及源代码爱好者开放下载做参考和研究及学习,本站不提供任何技术服务!
 4.  未经原版权作者许可,禁止用于任何商业环境,任何人不得擅作它用,下载者不得用于违反国家法律,否则发生的一切法律后果自行承担!
 5.  为尊重作者版权,请在下载24小时内删除!请购买原版授权作品,支持你喜欢的作者,谢谢!
 6.  若资源侵犯了您的合法权益, 请持您的版权证书和相关原作品信息来信通知我们请来信     通知我们我们会及时删除,给您带来的不便,我们深表歉意!
 7.  如下载链接失效、广告或者压缩包问题请联系站长处理!
 8.  如果你也有好源码或者教程,可以发布到网站,分享有金币奖励和额外收入!
 9.  本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
 10.  因源码具有可复制性,一经赞助 ,不得以任何形式退款。
 11.  更多详情请点击查看

汇站网 Linux Zsh 安装与配置,是一项重要的任务 https://www.huizhanii.com/34158.html

汇站

站长资源下载中心-找源码上汇站

常见问题
  • 如果付款后没有弹出下载页面,多刷新几下,有问题联系客服!
查看详情
  • 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。
查看详情

相关文章

发表评论
暂无评论
  随机评论 表情开关按钮图片
表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情
登录后评论
联系官方客服

为您解决烦忧 - 24小时在线 专业服务

(汇站网)一个专注站长资源的平台网站,提供最新的网站模板和整站源码,内容包含各类精品网页模板,企业网站模板,网站模板,DIV+CSS模板,织梦模板,帝国cms模板,discuz模板,wordpress模板,个人博客论坛模板,上千种免费网页模板下载尽在汇站网.找源码上汇站.huizhanii.com