ubuntu使用oh my zsh美化终端

2024-05-28 13:12
文章标签 ubuntu 使用 zsh 终端 美化 oh

本文主要是介绍ubuntu使用oh my zsh美化终端,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

ubuntu使用oh my zsh美化终端

文章目录

  • ubuntu使用oh my zsh美化终端
    • 1. 安装zsh和oh my zsh
    • 2. 修改zsh主题
    • 3. 安装zsh插件
    • 4. 将`.bashrc`移植到`.zshrc`
    • Reference

1. 安装zsh和oh my zsh

首先安装zsh

sudo apt install zsh

然后查看本地有哪些shell可以使用

cat /etc/shells 

将默认的shell切换为zsh

chsh -s /bin/zsh

然后安装oh-my-zsh,参考官网提供的两种安装方式

sh -c "$(wget https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O -)"

或者

sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

2. 修改zsh主题

oh-my-zsh内置了很多主题,可以进入路径~/.oh-my-zsh/themes下进行查看,如图所示

Image

如果想要修改成自己喜欢的主题,可以

sudo gedit ~/.zshrc

然后找到ZSH_THEME="xxxx",将其修改为已经安装的主题就行,保存然后退出,打开终端

source ~/.zshrc

这里推荐一个主题powerlevel10k,只需要将其git到~/.oh-my-zsh/custom/themes/powerlevel10k目录下即可,

git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k

然后再配置~/.zshrc文件

sudo gedit ~/.zshrc

修改为ZSH_THEME="powerlevel10k/powerlevel10k",然后source

source ~/.zshrc

效果如下

Image

3. 安装zsh插件

zsh的内置插件可以在路径~/.oh-my-zsh/plugins中进行查看,如下图所示

Image

别的插件可以在:awesome-zsh-plugins进行查找

这里推荐两个插件,第一个是支持自动补全的zsh-autosuggestions

zsh-autosuggestions

我们只需要将其git到路径~/.oh-my-zsh/custom/plugins中,然后配置~/.zshrc文件即可

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

然后在~/.zshrc中把插件添加到插件列表中

plugins=(# other plugins...zsh-autosuggestions  # 插件之间使用空格隔开
)

然后source一下

source ~/.zshrc

zsh-syntax-highlighting 是一个命令语法校验插件,在输入命令的过程中,若指令不合法,则指令显示为红色,若指令合法就会显示为绿色。

按照相同的流程,我们即可配置这个插件,将其git到~/.oh-my-zsh/custom/plugins

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

然后在~/.zshrc中将zsh-syntax-highlighting插入插件列表

plugins=(# other plugins...zsh-autosuggestionszsh-syntax-highlighting
)

然后source一下

source ~/.zshrc

4. 将.bashrc移植到.zshrc

笔者之前一直在使用bash然后配置了一些资源路径,比如rosanaconda还有一些别的环境变量比如cudacudnn等,要进行移植其实很简单,大部分的时候我们只需要将xxx.bash替换为xxx.zsh即可,然后别的一些环境变量的设置可以直接复制过去。举个例子

这是我的.bashrc自己添加的部分

# >>> clash <<<
export PATH=$PATH:/opt/clash# >>> cuda <<<
export PATH=$PATH:/usr/local/cuda/bin  
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64  
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/cuda/lib64
# export CUDA_HOME=/usr/local/cuda-11.1# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/home/your_usr_name/miniconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; theneval "$__conda_setup"
elseif [ -f "/home/your_usr_name/miniconda3/etc/profile.d/conda.sh" ]; then. "/home/your_usr_name/miniconda3/etc/profile.d/conda.sh"elseexport PATH="/home/your_usr_name/miniconda3/bin:$PATH"fi
fi
unset __conda_setup
# <<< conda initialize <<<# >>> ros noetic <<< 
source /opt/ros/noetic/setup.bash
# >>> ros2 foxy <<<
# source /opt/ros/foxy/setup.bash# >>> ur5 workspace <<<
source /home/your_usr_name/Documents/catkin_ur5/devel/setup.bash
# >>> frcobot workspace <<<
source /home/your_usr_name/Documents/catkin_frco/devel/setup.bash# >>> pyorbbecsdk <<<
export PYTHONPATH=$PYTHONPATH:/home/your_usr_name/Documents/pyorbbecsdk/install/lib/

我将其放在.zshrc中就修改如下

# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/home/your_usr_name/miniconda3/bin/conda' 'shell.zsh' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; theneval "$__conda_setup"
elseif [ -f "/home/your_usr_name/miniconda3/etc/profile.d/conda.sh" ]; then. "/home/sjhyour_usr_nameminiconda3/etc/profile.d/conda.sh"elseexport PATH="/home/your_usr_name/miniconda3/bin:$PATH"fi
fi
unset __conda_setup
# <<< conda initialize <<<# >>> clash <<<
export PATH=$PATH:/opt/clash# >>> cuda <<<
export PATH=$PATH:/usr/local/cuda/bin  
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64  
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/cuda/lib64
# export CUDA_HOME=/usr/local/cuda-11.1# >>> ros noetic <<< 
source /opt/ros/noetic/setup.zsh
# >>> ros2 foxy <<<
# source /opt/ros/foxy/setup.zsh# >>> ur5 workspace <<<
source /home/your_usr_name/Documents/catkin_ur5/devel/setup.zsh
# >>> frcobot workspace <<<
source /home/your_usr_name/Documents/catkin_frco/devel/setup.zsh# >>> pyorbbecsdk <<<
export PYTHONPATH=$PYTHONPATH:/home/your_usr_name/Documents/pyorbbecsdk/install/lib/

Reference

[1]zsh 安装与配置:9步打造高效命令行

这篇关于ubuntu使用oh my zsh美化终端的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1010666

相关文章

使用Sentinel自定义返回和实现区分来源方式

《使用Sentinel自定义返回和实现区分来源方式》:本文主要介绍使用Sentinel自定义返回和实现区分来源方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Sentinel自定义返回和实现区分来源1. 自定义错误返回2. 实现区分来源总结Sentinel自定

Pandas使用SQLite3实战

《Pandas使用SQLite3实战》本文主要介绍了Pandas使用SQLite3实战,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1 环境准备2 从 SQLite3VlfrWQzgt 读取数据到 DataFrame基础用法:读

JSON Web Token在登陆中的使用过程

《JSONWebToken在登陆中的使用过程》:本文主要介绍JSONWebToken在登陆中的使用过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录JWT 介绍微服务架构中的 JWT 使用结合微服务网关的 JWT 验证1. 用户登录,生成 JWT2. 自定义过滤

Java中StopWatch的使用示例详解

《Java中StopWatch的使用示例详解》stopWatch是org.springframework.util包下的一个工具类,使用它可直观的输出代码执行耗时,以及执行时间百分比,这篇文章主要介绍... 目录stopWatch 是org.springframework.util 包下的一个工具类,使用它

Java使用Curator进行ZooKeeper操作的详细教程

《Java使用Curator进行ZooKeeper操作的详细教程》ApacheCurator是一个基于ZooKeeper的Java客户端库,它极大地简化了使用ZooKeeper的开发工作,在分布式系统... 目录1、简述2、核心功能2.1 CuratorFramework2.2 Recipes3、示例实践3

springboot security使用jwt认证方式

《springbootsecurity使用jwt认证方式》:本文主要介绍springbootsecurity使用jwt认证方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录前言代码示例依赖定义mapper定义用户信息的实体beansecurity相关的类提供登录接口测试提供一

go中空接口的具体使用

《go中空接口的具体使用》空接口是一种特殊的接口类型,它不包含任何方法,本文主要介绍了go中空接口的具体使用,具有一定的参考价值,感兴趣的可以了解一下... 目录接口-空接口1. 什么是空接口?2. 如何使用空接口?第一,第二,第三,3. 空接口几个要注意的坑坑1:坑2:坑3:接口-空接口1. 什么是空接

springboot security快速使用示例详解

《springbootsecurity快速使用示例详解》:本文主要介绍springbootsecurity快速使用示例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝... 目录创www.chinasem.cn建spring boot项目生成脚手架配置依赖接口示例代码项目结构启用s

Python如何使用__slots__实现节省内存和性能优化

《Python如何使用__slots__实现节省内存和性能优化》你有想过,一个小小的__slots__能让你的Python类内存消耗直接减半吗,没错,今天咱们要聊的就是这个让人眼前一亮的技巧,感兴趣的... 目录背景:内存吃得满满的类__slots__:你的内存管理小助手举个大概的例子:看看效果如何?1.

java中使用POI生成Excel并导出过程

《java中使用POI生成Excel并导出过程》:本文主要介绍java中使用POI生成Excel并导出过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录需求说明及实现方式需求完成通用代码版本1版本2结果展示type参数为atype参数为b总结注:本文章中代码均为