终端美化+自动补全和语法高亮 + zsh

news2025/1/15 21:01:45

终端美化+自动补全和语法高亮 + zsh

一、前言

1、最终效果

在这里插入图片描述

2、所用工具

	zsh shell	# bash改zsh,选用原因后文提及
	oh my zsh	# 插件管理
	powerlevel10k	# 主题
	auto-suggestion	# 自动补全
	syntax highlighting	# 语法高亮

3、bash vs zsh vs fish

经典话题,到底选哪个,以及为什么作者选用zsh

  • bash

    • 优点:Linux所有版本自带,具有庞大的社区,出了问题有很多解决办法。
    • 缺点:不支持扩展
  • zsh

    • 优点:相当于bash的超集,支持bash的语法,已及相关插件数量最多。享受bash的社区。对于原bash人员几乎可以完美移植
    • 缺点: 利用oh my zsh管理插件,插件数量多时运行效率会有所下降(网上所说,作者也刚入门)。不用这个插件管理器,配置困难。
  • fish

    • 优点:运行效率高,自带语法补全,高亮。网上最多的一句评价是“fish开箱即用"
    • 缺点:有自己的语法,不支持bash的语法。代价高昂,需要自己学。已及插件没有zsh多。

你可能和我一开始想的一样,fish和zsh的语法自己都不知道。不如选fish,追求极致效率。但是还是会有以下几个问题,1、社区问题,出了问题,找解决办法困难。2、移植问题:你学fish不会bash的语法,你是可以。但是,别人写的bash脚本给你你看不懂,你写fish别人也可能看不懂。所以会有高昂的学习成本

二、配置

Ⅰ、zsh

zsh Github链接

①、zsh的安装

sudo apt install zsh

②、使用zsh

  1. 执行命令:chsh
  2. 输入密码
  3. 输入:/bin/zsh

如下图所示:
在这里插入图片描述

  1. 重启
  2. 输入:2(推荐)
    在这里插入图片描述

Ⅱ、oh my zsh(插件管理器)

oh my zsh(官网)

①、安装

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

  2. 配置curl代理:

    • 打开.zshrc
    • 添加代理
	# 格式如下
	# http
	export http_proxy='http://user:pwd@127.0.0.1:port'
	# https
	export https_proxy='http://user:pwd@127.0.0.1:port'
  • 上面的格式需要更改,这几个变量需要特别注意:user、pwd、port
  • user、pwd是你当前用户的,用户名和密码
  • port是你的代理走的端口号,不是固定的需要自己去看一下
  1. 把修改好的格式放到~/.zshrc中

②、重新配置一下代理

这里安装oh my zsh后,会覆盖原来的配置。故这里需要重新配置代理,不然会影响后续操作。

powerlever10k

powerlevel10k Github链接

①、安装字体

特定的字体图标才可以显示icon,如不过明白的话,就自行搜索”为什么安装特定字体才能显示icon(图标)“。记住这一步必做

  • 下载字体

    • 常规
    • 粗体
    • 斜体
    • 斜体+粗体

下载过后,双击点击安装

然后更改终端字体

  1. 打开终端
  2. 点击右上角首选项
  3. 点击左边最后一栏自定义
  4. 这就可以看见修改选项。如果是灰色,点击√就可以进行更改

②、安装powerlever10k

# 下载
git clone --depth=1 https://gitee.com/romkatv/powerlevel10k.git ~/powerlevel10k

打开 ~/.zshrc ,找到**ZSH_THEME=**修改成

ZSH_THEME="powerlevel10k/powerlevel10k"

重启

③、进行配置

根据提示来就可以了,配成自己喜欢的样式。
这里分享我的配置

y y y y 3 1 1 1 4 1 1 2 2 1 n 1 y

三、插件(自动补全+语法高亮)

Ⅰ、auto-suggestion(自动补全)

auto-suggestion Github链接

安装

  1. 执行
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
  1. 打开 ~/.zshrc
# 找到这个
plugins=(git)
# 改成
plugins=( 
    git
    zsh-autosuggestions
)

这里如果想试试有没有效果就重启。不重启,把下一个插件安装完成一起重启也行。

Ⅱ、syntax highlighting(语法高亮)

syntax highlighting Github链接

安装

  1. 执行
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
  1. 打开 ~/.zshrc
# 找到这个
plugins=( 
    git
    zsh-autosuggestions
)
# 改成
plugins=( 
    git
    zsh-autosuggestions
    zsh-syntax-highlighting
)

Ⅲ、重启

检查是否生效
如果出现下面的错误
[oh-my-zsh] theme ‘powerlevel10k’ not found

# 执行下面命令就行
git clone --depth=1 https://gitee.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k

四、最后

其实经过,这两个插件的安装,你也能明白。安装插件很简单。找到你想要的插件,然后修改~/.zshrc文件中的plugins就可以了。每一个插件都是换行加tab才可以生效
结束语,求赞!!!求收藏!!!

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

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

相关文章

Shell编程之免交户

expect 一、多行重定向1.1 格式1.2 注意事项1.3 使用实例 二、expect免交户2.1 expect概述2.1.1 定义2.1.2 安装2.1.3 命令格式 2.2 相关命令2.2.1 spawn2.2.2 expect.3 send2.2.3 set2.2.4 send_user2.2.5 exp_continue2.2.6 脚本解释器2.2.7 结束符2.2.8 exit 2.3 运用实例.1…

【Django】Task3 外键的使用、Queryset和Instance

【Django】Task3 外键的使用、Queryset和Instance Task3主要理解数据库外键的使用场景,了解Queryset的功能,通过编写代码体验Queryset中对数据库实例的curd操作,同时了解到Instance的定义。 1.外键的使用 1.1什么是外键 数据表外键是数据…

SHELL 基础

echo 打印命令 : 显示字符串 [rootserver ~]# echo this is SHELL language this is SHELL language [rootserver ~]# echo this is SHELL language this is SHELL language [rootserver ~]# echo "this is SHELL language" this is SHELL language…

el-table 实现动态表头 静态内容 根据数据显示动态输入框

直接放代码了 <el-table:data"form.tableDataA"borderstripestyle"width: 100%; margin-top: 20px"><el-table-columnv-for"(category, categoryIndex) in form.tableDataA":key"categoryIndex":label"category.name&qu…

AWS security 培训笔记

云计算的好处 Amazon S3 (Storage) Amazon EC2 (Compute) 上图aws 的几个支柱&#xff1a;安全是其中一个啦 其中安全有几个方面 IAMdetection基础架构保护数据保护应急响应 关于云供应商的责任 data center 原来长这样 &#xff0c;据说非常之隐蔽的 如果有天退役了&#xf…

回归预测 | MATLAB实现TSO-BP金枪鱼群优化算法优化BP神经网络多输入单输出回归预测(多指标,多图)

回归预测 | MATLAB实现TSO-BP金枪鱼群优化算法优化BP神经网络多输入单输出回归预测&#xff08;多指标&#xff0c;多图&#xff09; 目录 回归预测 | MATLAB实现TSO-BP金枪鱼群优化算法优化BP神经网络多输入单输出回归预测&#xff08;多指标&#xff0c;多图&#xff09;效果…

第1篇:Arduino与ESP32开发板的安装方法

一、下载安装包 arduino2.1.0-esp32_2.0.9-esp8266_3.1.1离线安装包 百度网盘 请输入提取码百度网盘为您提供文件的网络备份、同步和分享服务。空间大、速度快、安全稳固&#xff0c;支持教育网加速&#xff0c;支持手机端。注册使用百度网盘即可享受免费存储空间https://pan…

计算机网络——OSI与TCP/IP各层的结构与功能,都有哪些协议?

文章目录 一 OSI与TCP/IP各层的结构与功能,都有哪些协议?1.1 应用层1.2 运输层1.3 网络层1.4 数据链路层1.5 物理层1.6 总结一下 二 ⭐TCP 三次握手和四次挥手(面试常客)2.1 TCP 三次握手漫画图解2.2 为什么要三次握手⭐2.3 第2次握手传回了ACK&#xff0c;为什么还要传回SYN&…

小程序的数据绑定和事件绑定

小程序的数据绑定 1.需要渲染的数据放在index.js中的data里 Page({data: {info:HELLO WORLD,imgSrc:/images/1.jpg,randomNum:Math.random()*10,randomNum1:Math.random().toFixed(2)}, }) 2.在WXML中通过{{}}获取数据 <view>{{info}}</view><image src"{{…

C#反编译工具ILSPY

ILSPY ILSpy 是一个开源的.Net程序集浏览器和反编译工具。 Visual Studio 2022附带了默认情况下启用的F12反编译支持&#xff08;使用我们的引擎v7.1&#xff09;。 在Visual Studio 2019中&#xff0c;您必须手动启用F12支持。转到“工具”/“选项”/“文本编辑器”/C#/Adva…

最新ai系统ChatGPT程序源码+详细搭建教程+mj以图生图+Dall-E2绘画+支持GPT4+AI绘画+H5端+Prompt知识库

目录 一、前言 二、系统演示 三、功能模块 3.1 GPT模型提问 3.2 应用工作台 3.3 Midjourney专业绘画 3.4 mind思维导图 四、源码系统 4.1 前台演示站点 4.2 SparkAi源码下载 4.3 SparkAi系统文档 五、详细搭建教程 5.1 基础env环境配置 5.2 env.env文件配置 六、环境…

回归预测 | MATLAB实现SOM-BP自组织映射结合BP神经网络多输入单输出回归预测(多指标,多图)

回归预测 | MATLAB实现SOM-BP自组织映射结合BP神经网络多输入单输出回归预测&#xff08;多指标&#xff0c;多图&#xff09; 目录 回归预测 | MATLAB实现SOM-BP自组织映射结合BP神经网络多输入单输出回归预测&#xff08;多指标&#xff0c;多图&#xff09;效果一览基本介绍…

对比学习损失—InfoNCE理论理解

InfoNoise的理解 InfoNCE loss温度系数 τ \tau τ InfoNCE loss 最近在看对比学习的东西&#xff0c;记录点基础的东西 「对比学习」 属于无监督学习的一种&#xff0c;给一堆数据&#xff0c;没有标签&#xff0c;自己学习出一种特征表示。 InfoNCE 这个损失是来自于论文&am…

9.文件基本操作

第四章 文件管理 9.文件基本操作 ​    “打开文件和关闭文件”与平常鼠标双击打开文件和点击“X”关闭文件是有所不同的。 ​    操作系统在处理open系统调用时主要做了以下两件事情&#xff0c;①根据我们提供的文件存放路径在外存当中找到这个目录对应的目录表&#x…

【java毕业设计】基于ssm+mysql+jsp的个性化影片推荐系统设计与实现(程序源码)-个性化影片推荐系统

基于ssmmysqljsp的个性化影片推荐系统设计与实现&#xff08;程序源码毕业论文&#xff09; 大家好&#xff0c;今天给大家介绍基于ssmmysqljsp的个性化影片推荐系统设计与实现&#xff0c;本论文只截取部分文章重点&#xff0c;文章末尾附有本毕业设计完整源码及论文的获取方式…

《知识图谱与大模型融合实践研究报告》发布,创邻科技参编

近期&#xff0c;第三届知识图谱产业发展论坛暨知识图谱与大模型融合研讨会在北京召开。会上&#xff0c;《知识图谱与大模型融合实践研究报告》正式发布&#xff01; 该白皮书是由中国电子技术标准化研究院依托知识图谱产业推进方阵、全国信标委人工智能分委会知识图谱工作组…

图形推理 1

正确答案&#xff1a;D 你的答案&#xff1a;C 官方解析&#xff1a; 根据观察我们发现A、B、C项都为对称图形&#xff0c;只有D项不是。 官方解析&#xff1a; 图形组成元素不相似&#xff0c;先考虑属性规律&#xff0c;再考虑数量规律。属性无明显规律&#xff0c;考虑数量规…

2023-8-14 子矩阵的和

题目链接&#xff1a;子矩阵的和 #include <iostream>using namespace std;int n, m, q; const int N 1010;int a[N][N], s[N][N];int main () {scanf("%d%d%d", &n, &m, &q);for(int i 1; i < n; i )for(int j 1; j < m; j)scanf(&quo…

27、springboot自定义第三方框架和Starter组件及其测试完整版

介绍 ★ 自定义自动配置自动配置类注册 所谓的自动配置&#xff0c;就是通过一个配置类&#xff0c;然后这个配置类在我们容器中定义了大量的bean&#xff0c;然后这些bean也不是直接定义&#xff0c;它是结合了条件注解&#xff0c;只有在某些特定的条件下&#xff0c;才会生…

PHP实现每日蛋白质摄入量计算器

1.laravel 路由 //每日蛋白质摄入计算器Route::get(api/protein/intake, FormulaControllerproteinIntakeCal); 2.代码 /*** 每日蛋白质摄入计算器*/public function proteinIntakeCal(){$number intval($this->request(number));$goalFactor array(0.8, 1.16, 0.8, 1.16,…