windows下powershell与linux下bash美化教程(使用starship)

starship美化教程

Win11 + Powershell

安装

在命令行使用下面命令安装

# 安装starship
winget install starship

将以下内容添加到 Microsoft.PowerShell_profile.ps1,可以在 PowerShell 通过 $PROFILE 变量来查询文件的位置

Invoke-Expression (&starship init powershell)

配置

C:\用户\{user}\.config目录下新建starship.toml文件,可以在starship官网查看官方预设配置,点击主题即可查看配置文件代码,复制到toml配置文件中即可。

需要注意的是,基本上所有的主题都包含了Nerd Font字体中的一些符号支持,因此当符号显示异常的话,先检查是否安装了最新版的Nerd Font字体族。

在排除字体问题后,某些符号显示异常很可能是使用了过时的符号编码,具体可见oh-my-posh美化教程中的Nerd Font部分。

启动终端后第一行空白

因为默认配置中add_newline = true,意味着每次执行完命令会空出一行,防止命令与输出结果之间缺少空行而降低可读性。根据个人喜好,可以将其设置为false以去除终端最上方的空行。

在这里插入图片描述

Linux(无root权限) + bash

安装Nerd Font

在linux终端中,可以使用fc-list查看已安装的字体。

若linux上没有可用的Nerd Font字体,而你又恰好没有root权限,则可以在本地主机上下载字体包(.ttf文件即可)后上传至~/.local/share/fonts目录下,若没有此路径,新建即可。

需要注意的是,在上传Nerd Font字体文件时,最好把某个字体的所有格式文件均上传,如light、bold、italic等多个文件。

然后在linux上执行以下命令来刷新字体缓存,检测字体是否可用。

fc-cache -vf
fc-list | grep "JetBrainsMonoNLNerdFontMono"

安装starship

在starship的github官网上下载最新的starship压缩包,上传到linux用户目录下,解压即可得到starship的可执行文件,将该目录添加到环境变量中,再在~/.bashrc文件的最后添加一行命令即可。

# 将starship所在路径添加到环境变量
export PATH=/home/{user}/{starship所在目录}:$PATH
# 使用starship初始化bash
eval "$(starship init bash)"

配置

~/.config路径下新建starship.toml配置文件即可。

我的配置

基于Tokyo Night主题修改,增加了对conda环境的显示支持与命令执行时长的显示支持。
在这里插入图片描述

大部分符号均需要在NerdFont下查看。

add_newline = true

format = """
[░▒▓](#a3aed2)\
[  ](fg:#090c0c bg:#a3aed2)\
[](fg:#a3aed2 bg:#769ff0)\
$directory\
[](fg:#769ff0 bg:#596db0)\
$git_branch\
$git_status\
[](fg:#596db0 bg:#394260)\
$conda\
$nodejs\
$rust\
$golang\
$php\
[](fg:#394260 bg:#212736)\
$time\
[ ](fg:#212736 bg:#1d2230)\
$cmd_duration\
[](fg:#1d2230)\
\n$character"""

[directory]
style = "fg:#e3e5e5 bg:#769ff0"
format = "[ $path ]($style)"
truncation_length = 7
truncation_symbol = "…/"

[directory.substitutions]
"Documents" = "󰈙 "
"Downloads" = " "
"Music" = " "
"Pictures" = " "

[git_branch]
symbol = ""
style = "bg:#394260"
format = '[[ $symbol $branch ](fg:#769ff0 bg:#596db0)]($style)'

[git_status]
style = "bg:#394260"
format = '[[($all_status$ahead_behind )](fg:#769ff0 bg:#596db0)]($style)'

[conda]
symbol = " "
style = "bg:#394260"
format = '[[ $symbol ($environment) ](fg:#769ff0 bg:#394260)]($style)'

[nodejs]
symbol = ""
style = "bg:#394260"
format = '[[ $symbol ($version) ](fg:#769ff0 bg:#394260)]($style)'

[rust]
symbol = ""
style = "bg:#394260"
format = '[[ $symbol ($version) ](fg:#769ff0 bg:#394260)]($style)'

[golang]
symbol = ""
style = "bg:#394260"
format = '[[ $symbol ($version) ](fg:#769ff0 bg:#394260)]($style)'

[php]
symbol = ""
style = "bg:#394260"
format = '[[ $symbol ($version) ](fg:#769ff0 bg:#394260)]($style)'

[time]
disabled = false
time_format = "%R" # Hour:Minute Format
style = "bg:#212736"
format = '[[  $time ](fg:#a0a9cb bg:#212736)]($style)'

[cmd_duration]
disabled = false
min_time = 500
show_milliseconds = true
style = "bg:#1d2230"
format = '[[ 󰔟 $duration ](fg:#a0a9cb bg:#1d2230)]($style)'

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

gitee多用户配置

一、引言 在工作的时候我们有时候会自己创建项目Demo来实现一些功能,但是又不想把自己的Demo代码放到公司的仓库代码平台(gitee)中管理,于是就是想自己放到自己的Gitee中管理,于是就需要配置Git多用户。 本文将配置分别…

【4月】组队打卡《山有木兮Python数据分析极简入门》

活动名称 CDA Club 第2期《山有木兮Python数据分析极简入门》组队打卡 活动介绍 本次打卡活动由CDA俱乐部旗下学术部主办。目的是通过数据分析科普内容,为数据分析爱好者提供学习和交流的机会。方便大家利用碎片化时间在线学习,以组队打卡的形式提升学…

Kindling the Darkness:A Practical Low-light Image Enhancer

Abstract 在弱光条件下拍摄的图像通常会出现(部分)可见度较差的情况。,除了令人不满意的照明之外,多种类型的退化也隐藏在黑暗中,例如由于相机质量有限而导致的噪点和颜色失真。,换句话说,仅仅调高黑暗区域的亮度将不…

Altair(澳汰尔) Radioss® 评估和优化动态载荷下的高度非线性问题

Altair(澳汰尔) Radioss 评估和优化动态载荷下的高度非线性问题 Radioss 是一款超前的分析解决方案,可评估和优化动态载荷下的高度非线性问题。它广泛应用于全球各行各业,能有效提高复杂设计的耐撞性、安全性和可制造性。 30 多…

iOS - Runtime - Class的结构

文章目录 iOS - Runtime - Class的结构前言1. Class的结构1.1 Class的结构1.1.1 objc_class1.1.2 class_rw_t1.1.3 class_ro_t 1.2 class_rw_t和class_ro_t的区别1.3 class_rw_t和class_ro_t的关系1.3.1 分析关系1.3.2 原因 1.4 method_t1.4.1 Type Encoding1.4.2 types iOS - …

00000基础搭建vue+flask前后端分离项目

我完全是参考的这个vue3flask前后端分离环境速建_flask vue3-CSDN博客 安装了node_js(添加了环境变量) 环境变量 把原来的镜像源换成了淘宝镜像源 npm config set registry https://registry.npmmirror.com/ 查看版本证明安装成功 npm - v 安装npm i…

web自动化测试系列-selenium的运行原理和常用方法介绍(二)

目录 1.selenium的运行原理 2.常用方法介绍 接上文 :web自动化测试系列-selenium的安装和运行(一)-CSDN博客 在上文中我们编写了一段简单的代码 ,可以驱动浏览器访问百度并搜索关键字 。这里我们再把这段代码再拿来加以说明 。 # 1. 导包 from selen…

gitee拉取与推送

🌱博客主页:青竹雾色间 😘博客制作不易欢迎各位👍点赞⭐收藏➕关注 目录 一,从本地推送项目到gitee1.首先我们在gitee上创建一个仓库2.clone远程仓库到本地3.git的三板斧3.1. add - 将代码添加到本地仓库3.2. commit …

入行AI写作第一个月收入2万+复盘分享

AI写作作为一种新兴的创作方式,正逐渐改变着内容产业的生态。在这个领域中,许多人通过自己的努力和智慧,实现了快速的成长和收入的增长。本文将从技术学习与掌握、实践与应用、内容创作与优化、持续学习与创新、总结与复盘这五个方面&#xf…

Python时间序列异常检测库之adtk使用详解

概要 ADTK(Anomaly Detection Toolkit)是一个用于时间序列异常检测的Python库。它提供了一系列工具来识别时间序列数据中的异常模式,适用于多种监测和预测任务。 ADTK简介 ADTK专注于时间序列异常检测,支持多种异常检测算法,包括统计学方法、机器学习模型以及基于规则的…

配置Web运行环境与第一个网页

安装与配置Web环境: 如下使用了VSC作为web的运行环境。 下面是VSC的官网点击进入:Download Visual Studio Code - Mac, Linux, Windowshttps://code.visualstudio.com/download 1.下载 进入官网后可以看到有windows,linux,还有苹果按照自己的系统下载&…

Halcon深度学习项目实战系统教程

Halcon在机器视觉中的价值主要体现在提供高效、可扩展、灵活的机器视觉解决方案,帮助用户解决各种复杂的机器视觉问题,提高生产效率和产品质量。 缩短产品上市时间 Halcon的灵活架构使其能够快速开发出任何类型的机器视觉应用。其全球通用的集成开发环境(HDevelop)有助于降…

CDLKF不锈钢浸入式多级离心泵

一、构造特点与工作原理 CDLKF型不锈钢浸入式多级离心泵采用了先进的设计理念,其结构紧凑,占地面积小。泵体采用优质不锈钢材料,不仅保证了良好的抗腐蚀性和耐磨性,同时也确保了泵的长期稳定运行。 该泵的核心部件是多级离心叶轮&…

数字孪生在教学培训的应用场景

数字孪生技术在教学培训领域的应用场景非常广泛,它通过创建一个真实世界的虚拟副本,为教育和培训提供了全新的方法和手段。以下是一些具体的应用场景,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司&#…

2024/3/26 C++作业

定义一个矩形类(Rectangle),包含私有成员:长(length)、宽(width), 定义成员函数: 设置长度:void set_l(int l) 设置宽度:void set_w(int w) 获取长度:int…

centos7 使用docker安装了mongo 怎么设置远程链接,必须使用密码才能连接

docker run -d –name mongodb_container -e MONGO_INITDB_ROOT_USERNAMEroot -e MONGO_INITDB_ROOT_PASSWORDroot -e MONGO_INITDB_DATABASEdataserver -p 27017:27017 \ 无法在mongo容器里编辑文件 如果你无法直接编辑 MongoDB 容器内的配置文件,你可以尝试…

Oracle中实现根据条件对数据的增删改操作——Merge Into

一、需求描述 在我们进行项目开发的过程中,会遇到这样的场景,需要根据某个条件对数据进行增、删、改的操作;遇到这种情况我们有2种方法进行解决: 方法一:①查询指定条件;②根据查询出的指定条件结果在执行…

生成 SSH 公钥

Windows 用户建议使用 Windows PowerShell 或者 Git Bash,在 命令提示符 下无 cat 和 ls 命令。 1、通过命令 ssh-keygen 生成 SSH Key: ssh-keygen -t ed25519 -C "Gitee SSH Key"-t key 类型 -C 注释 输出,如: 中间…

Redis入门三(主从复制、Redis哨兵、Redis集群、缓存更新策略、缓存穿透、缓存击穿、缓存雪崩)

文章目录 一、主从复制1.单例redis存在的问题2.主从复制是什么?3.主从复制的原理4.主从搭建1)准备工作2)方式一3)方式二 5.python中操作1)原生操作2)Django的缓存操作 二、Redis哨兵(Redis-Sent…

Redis和MySQL如何保持数据一致性?

在高并发的场景下,大量的请求直接访问MySQL很容易造成性能问题。所以,我们都会用Redis来做数据的缓存,削减对数据库的请求。但是,MySQL和Redis是两种不同的数据库,如何保证不同数据库之间数据的一致性就非常关键了。 …