ubuntu使用oh my zsh美化终端

news2024/11/15 11:44:44

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-autosuggestions
    zsh-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 ]; then
    eval "$__conda_setup"
else
    if [ -f "/home/your_usr_name/miniconda3/etc/profile.d/conda.sh" ]; then
        . "/home/your_usr_name/miniconda3/etc/profile.d/conda.sh"
    else
        export 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 ]; then
    eval "$__conda_setup"
else
    if [ -f "/home/your_usr_name/miniconda3/etc/profile.d/conda.sh" ]; then
        . "/home/sjhyour_usr_nameminiconda3/etc/profile.d/conda.sh"
    else
        export 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步打造高效命令行

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1705559.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

gmssl vs2010编译

1、虚拟机win10 x64&#xff0c;离线安装vs2010和2010sp1补丁&#xff1b; 2、安装ActivePerl_v5.28.1.0000和nasm-2.16.03-installer-x64均是默认完整安装&#xff1b; nasm官网下载&#xff1a; Index of /pub/nasm/releasebuilds/2.16.03/win64https://www.nasm.us/pub/nas…

链表带环问题的思考

判断链表是否带环 思路&#xff1a;快慢指针 慢指针走一步&#xff0c;快指针走两步&#xff0c;当快指针追上慢指针时&#xff0c;代表该链表带环。代码如下: /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/ …

【服务器报错】Pycharm运行服务器代码提示 can‘t open file “本地文件路径“

1. 问题 Pycharm连接远程服务器&#xff0c;代码已经同步&#xff0c;运行时候报错 #模拟报错 bash: line 0: cd: G:/python/hhh/Hi: No such file or directory /home/hhh/anaconda3/envs/hard/bin/python: cant open file G:/python/hhh/hi/hei.py: [Errno 2] No such file…

Marvelous Designer12 解锁版安装教程 (3D服装设计软件)

前言 Marvelous Designer允许您使用我们的尖端设计软件创建美丽的3D虚拟服装。最后&#xff0c;使用工具在提高质量的同时节省时间&#xff0c;为您的设计注入活力。从基本衬衫到复杂的褶皱连衣裙和粗糙的制服&#xff0c;Marvelous Designer几乎可以将织物纹理和物理特性复制…

基于NAMUR开放式架构(NOA)的工业设备数据采集方案

一 NAMUR开放式架构 传统自动化金字塔结构的优越性在过去许多年里已被证明。然而&#xff0c;传统的自动化金字塔在获取和利用对物联网和工业4.0有价值的数据方面却存在一定挑战。这是因为传统系统通常是封闭的&#xff0c;数据访问受到限制&#xff0c;难以集成到新的数字化解…

GoldenEye-v1(vulnhub)靶机练习实践报告

GoldenEye-v1****靶机练习实践报告 一、安装靶机 靶机是.ova文件&#xff0c;需要用VirtualBox打开&#xff0c;但我习惯于使用VMWare,因此修改靶机文件&#xff0c;使其适用于VMWare打开。 解压ova文件&#xff0c;得到.ovf文件和.vmdk文件。 用记事本打开.ovf文件并修改“…

聚会活跃气氛神器小程序源码系统 各种小游戏 让聚会不再冷场 带源代码包以及安装搭建教程

系统概述 在社交聚会中&#xff0c;如何让气氛活跃起来一直是一个让人关注的问题。小编给大家分享一款聚会活跃气氛神器小程序源码系统。它不仅提供了丰富多样的小游戏&#xff0c;还带有源代码包和详细的安装搭建教程&#xff0c;让你轻松打造属于自己的聚会互动平台。 代码…

WPS文件没有保存怎么恢复?5个解决方案轻松恢复!

“我在WPS上编辑了一个文件&#xff0c;但是还没来得及将它保存&#xff0c;我不小心就退出软件了&#xff0c;现在不知道有什么方法可以恢复WPS文件呢&#xff1f;大家可以帮帮我吗” WPS作为一款功能强大且用户友好的软件&#xff0c;给我们的工作带来了很多的便利。但我们在…

谢宁DOE培训适合哪些人?

近年来&#xff0c;谢宁DOE培训以其专业、系统的课程内容&#xff0c;受到了众多学习者的青睐。那么&#xff0c;这个培训究竟适合哪些人呢&#xff1f;深圳天行健企业管理咨询公司解析如下&#xff1a; 首先&#xff0c;谢宁DOE培训适合质量管理部门的专业人员。质量总监、质量…

解线性方程组——最速下降法及图形化表示 | 北太天元 or matlab

一、思路转变 A为对称正定矩阵&#xff0c; A x b Ax b Axb 求解向量 x x x这个问题可以转化为一个求 f ( x ) f(x) f(x)极小值点的问题&#xff0c;为什么可以这样&#xff1a; f ( x ) 1 2 x T A x − x T b c f(x) \frac{1}{2}x^TAx - x^Tb c f(x)21​xTAx−xTbc 可…

书籍学习|基于SprinBoot+vue的书籍学习平台(源码+数据库+文档)

书籍学习平台 目录 基于SprinBootvue的书籍学习平台 一、前言 二、系统设计 三、系统功能设计 1平台功能模块 2后台功能模块 5.2.1管理员功能模块 5.2.2用户功能模块 5.2.3作者功能模块 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 …

MyBatis的基础操作

目录 一.什么是MyBatis? 二.使用MyBatis的准备工作 1.引入依赖: 2.配置数据库连接字符串(建立MaBatis和MySQL的连接) 3.在model包中建立数据库对应的实体类UserInfo 三.通过注解的方式实现MyBatis的开发 1.插入语句(Insert) 2.删除语句(Delete) 3.更新语句(Update) 4…

好用的便签如何独立和组合便签窗口

便签&#xff0c;那些小小的纸片&#xff0c;曾经是我生活中的忠实记录者。每当灵感闪现&#xff0c;或是有什么待办事项&#xff0c;我都会随手写在便签上&#xff0c;然后贴在我目所能及的地方&#xff0c;以便随时提醒我。然而&#xff0c;纸质便签总有其局限性&#xff0c;…

springboot个人旅游管理系统设计与实现-计算机毕业设计源码75806

摘要 在社会快速发展和人们生活水平提高的影响下&#xff0c;旅游产业蓬勃发展&#xff0c;旅游形式也变得多样化&#xff0c;使个人旅游的管理变得比过去更加困难。依照这一现实为基础&#xff0c;设计一个快捷而又方便的基于小程序的个人旅游管理系统是一项十分重要并且有价值…

4个月赚20万!一张图赚7500!多种变现方式,一个被忽视的暴力项目

大家好&#xff0c;今天给大家带来一个被很多人忽视&#xff0c;不起眼确很暴力的项目。 大胆放心干 课程获取&#xff1a; https://hsgww.com/https://hsgww.com/

(二刷)代码随想录第15天|层序遍历 226.翻转二叉树 101.对称二叉树2

层序遍历 10 102. 二叉树的层序遍历 - 力扣&#xff08;LeetCode&#xff09; 代码随想录 (programmercarl.com) 综合代码&#xff1a; class Solution{public List<List<Integer>> resList new ArrayList<List<Integer>>();public List<List<…

ComfyUI 简化工作流神器

安装也很简单&#xff0c;只需要在 ComfyUI 管理器中搜索「efficiency-nodes-comfyui」&#xff0c;点击安装就可以了。 插件也会放到文末的网盘中&#xff0c;有需要的小伙伴自取&#xff0c;复制到插件目录「\ComfyUI\custom_nodes」下就可以了。安装好了&#xff0c;记得重…

立创·天空星开发板-GD32F407VE-环境搭建

本文以 立创天空星开发板-GD32F407VET6-青春版 作为学习的板子&#xff0c;记录学习笔记。 立创天空星开发板-GD32F407VET6-环境搭建 单片机ARMARM内核系列Cortex-M系列常用ARM芯片厂商 GD32GD32的产品系列开发板开发板资源、尺寸标注图设计图纸 GD32F407 Keil ARM 安装下载地址…

视频营销的智能剪辑:Kompas.ai如何塑造影响力视频内容

引言&#xff1a; 在当今数字化的营销领域&#xff0c;视频内容已经成为品牌吸引用户注意力、建立品牌形象和提升用户参与度的重要方式。然而&#xff0c;要想制作出具有影响力的视频内容&#xff0c;并不是一件容易的事情。这就需要借助先进的技术和工具&#xff0c;如人工智能…

【Java面试】四、MySQL篇(上)

文章目录 1、定位慢查询2、慢查询的原因分析3、索引3.1 数据结构选用&#xff1a;二叉树 & 红黑树3.2 数据结构选用&#xff1a;B树 4、聚簇索引、非聚簇索引、回表查询4.1 聚簇索引、非聚簇索引4.2 回表查询 5、覆盖索引、超大分页优化5.1 覆盖索引5.2 超大分页处理 6、索…