配置一个简洁高效的 Zsh
Shell 是类 Unix 系统中超级好用的工具,而 Zsh 是 shell 中的佼佼者,但是现在网上一搜索 Zsh 的配置方案,遍地都是的互相复制粘贴的 oh-my-zsh 配置方案。事实上 oh-my-zsh 并不好用,严重拖慢了 Zsh 的速度,反而让你的工作并不高效。现在将我自己的使用方案分享给大家,教大家配置一个高效好用的 Zsh。
安装 Zsh我笔记本电脑使用的是 ArchLinux,服务器使用的是 Ubuntu。主要介绍这两个发行版的配置方法,红帽系的发行版请自行尝试。
我个人喜欢尽量从发行版的源里安装。从源安装具有方便,稳定,容易维护等优点。
在 ArchLinux 安装 Zsh终端里面输入:
sudo pacman -Sy zsh在 Ubuntu 安装 Zsh
终端里面输入:
sudo apt-get update sudo apt-get install zsh
我只需要两个插件:
zsh-autosuggestions:这个是自动建议插件,能够自动提示你需要的命令。 zsh-syntax-highlighting:这个是代码高亮插件,能够使你的命令行各个命令清晰明了。还有一个主题:
zsh-theme-powerlevel10k 这个主题提供漂亮的提示符,可以显示当前路径、时间、命令执行成功与否,还能够支持 git 分支显示等等。同样是尽可能从源里面安装。
Ubuntu 20.10 的源里面是 powerlevel9k,配置好后实际使用体验和 powerlevel10k 差别不大。
在 ArchLinux 安装插件和主题终端里面输入命令:
sudo pacman -S zsh-autosuggestions zsh-syntax-highlighting zsh-theme-powerlevel10k zsh-completions在 Ubuntu 安装插件和主题
终端里面输入命令:
sudo apt-get install zsh-autosuggestions zsh-syntax-highlighting zsh-theme-powerlevel9k
这样插件和主题就安装好了。
更改默认 shell,并配置插件和主题安装好了之后就是启用 Zsh,并且配置插件和主题了。
更改默认 shell终端输入命令:
chsh -s /usr/bin/zsh
ArchLinux 和 Ubuntu 都是同样的操作,然后注销并重新登录,就启用了 Zsh。第一次进入 Zsh 会自动出现一个配置界面,这个界面可以根据需要自定义 Zsh。
在这里输入 1 就可以进入配置界面了。
配置界面中各个菜单代表的意思分别是:
1:设置命令历史记录相关的选项 2:设置命令补全系统 3:设置热建 4:选择各种常见的选项,只需要选择 On 或者 Off 0:退出,并使用空白(默认)配置 a:终止设置并退出这里根据提示,然后按照你自己的喜好配置就可以了。配置好后,会在你的用户目录下生成 .zshrc 文件。然后我们要去这个文件中启用插件和主题。
配置插件和主题Zsh 的配置文件是 ~/.zshrc 文件,这个文件在你的用户目录下 ~/。删掉了这个文件,再次进入 Zsh,又会触发 Zsh 的配置界面。
在 ArchLinux 启用插件和主题打开 ~/.zshrc 文件,将以下行代码添加到其中:
source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh source /usr/share/zsh-theme-powerlevel10k/powerlevel10k.zsh-theme在 Ubuntu 启用插件和主题
打开 ~/.zshrc 文件,将以下行代码添加到其中:
source /usr/share/powerlevel9k/powerlevel9k.zsh-theme source /usr/share/zsh-autosuggestions/zsh-autosuggestions.zsh source /usr/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
这样就成功的启用了插件和主题,插件不需要额外的配置就很好用,有额外配置需求的可以自行研究。
而 powerlevel10k 主题在首次进入时,会触发一个配置界面。
然后根据提示和你的喜好一步步完成配置即可。
这里可以选择你喜欢的提示符。
配置完成后就可以愉快的使用啦!
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/49947.html
linuxshellUbuntu相关文章
- Pycharm配置(1)——解释器(interpreter)「建议收藏」
- 【分享】在集简云上架应用如何配置一个触发动作?
- JAVA环境配置
- spider-flow流程图爬虫,一个高度灵活可配置的爬虫平台!
- 无线配置多一个路由器作为家庭wifi的无线热点?
- vscode配置java环境变量_配置jre环境变量
- 干货:华为、思科、瞻博网络 rip 实验配置
- SAP Smart Table 的 Personalization(个性化配置)试读版
- 「Golang 反射实战」 - 我用反射写了一个配置库 - envutils , 应用变更再也不会少变量了
- 【错误记录】Gradle 配置 productFlavors 报错 ( All flavors must now belong to a named flavor dimension. )
- 【Groovy】使用 SwingBuilder 构建 Swing 窗口 ( 创建一个 Swing 构造器 | 配置 Swing 窗口的一系列属性 | 设置 Swing 窗口显示 )
- 【Android Gradle 插件】Gradle 自定义 Plugin 插件 ④ ( 为自定义 Gradle 插件的扩展配置扩展 | 在自定义插件中获取扩展属性 )
- 轻松搞定:Linux上双网卡配置指南(linux配置两个网卡)
- MySQL配置远程连接:轻松几步快速解决(mysql配置远程连接)
- MySQL连接字符串函数:学习如何配置一个安全的连接(mysql连接字符串函数)
- 配置文件MySQL的.ini文件配置:极致优化(mysql.ini)
- 访问MSSQL远程访问配置实战指南(mssql 配置远程)
- Linux下如何配置多个IP绑定到一个端口(linux个端口多个ip)
- Oracle内存配置及其使用情况分析(oracle内存分配情况)
- 如何在Apache中配置MySQL数据库连接(mysql、apache)
- 如何构建一个高效稳定的Redis集群(如何配置redis集群)
- 研究Oracle数据库优化配置的案例分析(oracle优化配置案例)
- 配置oracle SID路径一个指导步骤(oracle_sid路径)
- Redis实现过期数据定时监控配置方式(redis过期监听配置)
- Hadoop2.X/YARN环境搭建--CentOS7.0JDK配置
- 一个通过script自定义属性传递配置参数的方法