zsh+on-my-zsh配置教程指南(程序员必备)

本文提供了一篇详尽的ZSH配置教程,包括安装ZSH,设置默认shell,安装oh-my-zsh,配置ZSH主题和扩展如git插件、autojump、zsh-autosuggestions等。此外,还介绍了常用的ZSH快捷键和使用技巧,适用于CentOS 7和Mac系统。

本文以CentOS 7/Mac 为例,介绍zsh的配置使用教程。

准备

查看当前环境shell

echo $SHELL

查看系统自带哪些shell

cat /etc/shells

安装zsh

yum install zsh # CentOS
brew install zsh # mac安装

zsh设置为默认shell

chsh -s /bin/zsh # CentOS
# Mac如下
# 在 /etc/shells 文件中加入如下一行
/usr/local/bin/zsh
# 接着运行
chsh -s /usr/local/bin/zsh

可以通过echo $SHELL查看当前默认的shell,如果没有改为/bin/zsh,那么需要重启shell。

oh-my-zsh

配置zsh是一件麻烦的事儿,爱折腾的程序猿怎么可能忍受?!于是,oh-my-zsh出现了,有了这个东东,zsh配置起来就方便多了!

安装oh-my-zsh

有若干安装方式,介绍三种:
1.自动安装

wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh

2.手动安装

git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc

3.真-手动安装

  • oh-my-zsh的github主页,手动将zip包下载下来。
  • 将zip包解压,拷贝至~/.oh-my-zsh目录。此处省略拷贝的操作步骤。
  • 执行cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc

三选一即可,适合各种环境下的安装,然后需要source ~./.zshrc将配置生效。以下修改了.zshrc文件之后,都执行一下这个命令。

zsh主题

通过如下命令可以查看可用的Theme

# ls ~/.oh-my-zsh/themes

如何修改zsh主题呢?
编辑~/.zshrc文件,将ZSH_THEME="candy",即将主题修改为candy。我采用的steeef

zsh扩展

~/.zshrc中找到plugins关键字,就可以自定义启用的插件了,系统默认加载git

git插件

命令内容可以参考cat ~/.oh-my-zsh/plugins/git/git.plugin.zsh

常用的:

gapa	git add --patch
gc!	git commit -v --amend
gcl	git clone --recursive
gclean	git reset --hard && git clean -dfx
gcm	git checkout master
gcmsg	git commit -m
gco	git checkout
gd	git diff
gdca	git diff --cached
gp	git push
grbc	git rebase --continue
gst	git status
gup	git pull --rebase

完整列表:https://github.com/robbyrussell/oh-my-zsh/wiki/Plugin:git

extract

解压文件用的,所有的压缩文件,都可以直接x filename,不用记忆参数

当然,如果你想要用tar命令,可以使用tar -tab键,zsh会列出参数的含义。

autojump

按照官方文档介绍,需要使用如下命令安装,而不是一些博客中的介绍:

yum install autojump-zsh # CentOS
brew install autojump # Mac

CentOS安装好之后,需要在~/.zshrc中配置一下,除了在plugins中增加autojump之外,还需要添加一行:

[[ -s ~/.autojump/etc/profile.d/autojump.sh ]] && . ~/.autojump/etc/profile.d/autojump.sh

安装好之后,记得source ~/.zshrc,然后你就可以通过j+目录名快速进行目录跳转。支持目录名的模糊匹配和自动补全。

  • j -stat:可以查看历史路径库
zsh-autosuggestions

zsh-autosuggestions

git clone git://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions

~/.zshrc 中配置

plugins=(其他的插件 zsh-autosuggestions)

因为箭头不太方便,在.zshrc中自定义补全快捷键为逗号,但是又一次遇到了需要输入逗号的情况,所以,并不太推荐如下修改:

bindkey ',' autosuggest-accept
zsh-syntax-highlighting

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=(其他的插件 zsh-syntax-highlighting)
git-open

git-open插件可以在你git项目下打开远程仓库浏览项目。

git clone https://github.com/paulirish/git-open.git $ZSH_CUSTOM/plugins/git-open
bat

bat 代替 cat
cat 某个文件,可以在终端直接输出文件内容,bat 相比 cat 增加了行号和颜色高亮 👍

brew install bat

常用快捷键

  • 命令历史记录
    • 一旦在 shell 敲入正确命令并能执行后,shell 就会存储你所敲入命令的历史记录(存放在~/.zsh_history 文件中),方便再次运行之前的命令。可以按方向键↑和↓来查看之前执行过的命令
    • 可以用 r来执行上一条命令
    • 使用 ctrl-r 来搜索命令历史记录
  • 命令别名
    • 可以简化命令输入,在 .zshrc 中添加 alias shortcut='this is the origin command' 一行就相当于添加了别名
    • 在命令行中输入 alias 可以查看所有的命令别名

使用技巧

  • 连按两次Tab会列出所有的补全列表并直接开始选择,补全项可以使用 ctrl+n/p/f/b上下左右切换
  • 智能跳转,安装了 autojump 之后,zsh 会自动记录你访问过的目录,通过 j 目录名 可以直接进行目录跳转,而且目录名支持模糊匹配和自动补全,例如你访问过 hadoop-1.0.0 目录,输入j hado 即可正确跳转。j --stat 可以看你的历史路径库。
  • 命令选项补全。在zsh中只需要键入 tar - 就会列出所有的选项和帮助说明
  • 在当前目录下输入 .. 或 ... ,或直接输入当前目录名都可以跳转,你甚至不再需要输入 cd 命令了。在你知道路径的情况下,比如 /usr/local/bin 你可以输入 cd /u/l/b 然后按进行补全快速输入
  • 目录浏览和跳转:输入 d,即可列出你在这个会话里访问的目录列表,输入列表前的序号,即可直接跳转。
  • 命令参数补全。键入 kill <tab> 就会列出所有的进程名和对应的进程号
  • 更智能的历史命令。在用或者方向上键查找历史命令时,zsh支持限制查找。比如,输入ls,然后再按方向上键,则只会查找用过的ls命令。而此时使用则会仍然按之前的方式查找,忽略 ls
  • 多个终端会话共享历史记录
  • 通配符搜索:ls -l **/*.sh,可以递归显示当前目录下的 shell 文件,文件少时可以代替 find。使用 **/ 来递归搜索
  • 扩展环境变量,输入环境变量然后按 就可以转换成表达的值
  • 在 .zshrc 中添加 setopt HIST_IGNORE_DUPS 可以消除重复记录,也可以利用sort -t ";" -k 2 -u ~/.zsh_history | sort -o ~/.zsh_history手动清除

参考

Linux

Mac

最后

### 如何安装和配置 Zsh 以及 Oh My Zsh #### 安装 Zsh 在 Linux 或 macOS 上,可以通过以下方式确认是否已安装 `zsh`。运行命令并检查输出: ```bash zsh --version ``` 如果能够显示版本号,则表示系统上已有 `zsh`[^2]。如果没有安装或者需要更新到最新版,在基于 Debian 的发行版(如 Ubuntu)中可执行以下命令来安装: ```bash sudo apt update && sudo apt install zsh ``` 对于 macOS 用户,默认情况下可能已经预装了 `zsh`;但如果未安装或需升级,可通过 Homebrew 工具完成安装: ```bash brew install zsh ``` #### 安装 Oh My Zsh Oh My Zsh 是一个用于管理 Zsh 配置的开源框架工具,它提供了丰富的主题和插件支持。 要安装 Oh My Zsh,可以使用 curl 脚本快速部署: ```bash sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" ``` 此脚本会自动将用户的默认 shell 更改为 `zsh` 并初始化必要的文件结构[^1]。 #### 插件安装与配置 为了增强用户体验,推荐安装一些常用的插件,比如语法高亮 (`zsh-syntax-highlighting`) 和自动补全建议 (`zsh-autosuggestions`)。 ##### 安装 `zsh-syntax-highlighting` 克隆仓库至本地路径,并将其加入 `.zshrc` 文件中的插件列表里: ```bash git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting ``` 编辑 `.zshrc` 文件并将该插件添加进去: ```bash nano ~/.zshrc ``` 找到 plugins 行,修改如下内容: ```plaintext plugins=(... zsh-syntax-highlighting ...) ``` 保存退出后重新加载配置文件: ```bash source ~/.zshrc ``` ##### 安装 `zsh-autosuggestions` 同样地,先获取源码再集成到环境中去: ```bash git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions ``` 接着调整 `.zshrc` 设置以启用这一功能: ```plaintext plugins=(... zsh-autosuggestions ...) ``` 最后记得刷新环境变量使其生效: ```bash source ~/.zshrc ``` #### 修改主题样式 Oh My Zsh 提供了大量的内置主题可供选择。打开个人专属配置文件查看当前使用的 theme 名称: ```bash nano ~/.zshrc ``` 定位到 `ZSH_THEME="..."` 这一行替换为自己偏好的选项名称即可。例如切换成箭头风格的主题: ```plaintext ZSH_THEME="agnoster" ``` 完成后再次调用 source 更新更改后的布局效果: ```bash source ~/.zshrc ``` 若想进一步个性化定制外观界面,还可以参考其他社区贡献的设计方案[^4]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值