Starship终端提示工具配置指南

Starship终端提示工具配置指南

starship ☄🌌️ The minimal, blazing-fast, and infinitely customizable prompt for any shell! starship 项目地址: https://gitcode.com/gh_mirrors/st/starship

什么是Starship?

Starship是一款轻量级、高度可定制的终端提示工具,它能够在各种shell环境中显示美观且信息丰富的提示符。通过简单的配置,用户可以自定义提示符的显示内容和样式,使其更加符合个人使用习惯。

基础配置

配置文件位置

Starship的配置文件默认位于~/.config/starship.toml。要开始配置,首先需要创建这个文件:

mkdir -p ~/.config && touch ~/.config/starship.toml

配置示例

以下是一个基本的配置示例:

# 启用配置模式自动补全
"$schema" = 'https://starship.rs/config-schema.json'

# 在提示符之间添加空行
add_newline = true

# 自定义成功符号
[character]
success_symbol = "[➜](bold green)"

# 禁用package模块
[package]
disabled = true

自定义配置文件路径

如果需要使用非默认的配置文件路径,可以通过环境变量STARSHIP_CONFIG来指定:

export STARSHIP_CONFIG=~/custom/path/starship.toml

日志配置

Starship默认会将日志输出到~/.cache/starship/目录下。如果需要修改日志路径,可以设置STARSHIP_CACHE环境变量:

export STARSHIP_CACHE=~/.starship/cache

核心概念

模块(Module)

模块是Starship提示符中的独立组件,每个模块负责显示特定类型的信息。例如:

  • nodejs模块:显示当前Node.js版本
  • git模块:显示Git仓库状态
  • directory模块:显示当前目录路径

变量(Variable)

变量是模块中的子组件,包含具体的显示内容。例如在nodejs模块中:

  • version变量:显示Node.js的具体版本号

字符串格式

Starship使用TOML格式的字符串来定义显示内容,支持多种字符串类型:

  1. 字面量字符串:使用单引号',转义较少
  2. 常规字符串:使用双引号",需要更多转义
  3. 多行字符串:使用三引号'''"""

特殊字符转义

在格式字符串中,以下字符有特殊含义,需要转义才能显示为普通字符: $ [ ] ( )

样式配置

Starship支持丰富的样式设置,可以通过样式字符串来定义:

# 绿色文字,蓝色背景
style = 'fg:green bg:blue'

# 粗体文字,紫色
style = 'bold fg:purple'

# 下划线,橙色背景
style = 'underline bg:#bf5700'

注意:实际显示效果取决于终端模拟器的支持程度。

条件格式

可以使用括号()来实现条件显示,当括号内所有变量都为空时,该部分内容不会显示:

# 仅当region变量有值时显示
format = '(@$region)'

模块匹配规则

许多模块支持通过detect_extensionsdetect_filesdetect_folders来定义匹配规则。使用!前缀可以排除特定匹配项:

# 匹配.ts文件,但不匹配video.ts和audio.ts
detect_extensions = ['ts', '!video.ts', '!audio.ts']

提示符全局配置

主要选项

| 选项 | 默认值 | 描述 | |------|--------|------| | format | 默认格式 | 定义提示符的整体格式 | | add_newline | true | 是否在提示符间添加空行 | | scan_timeout | 30 | 文件扫描超时时间(毫秒) | | command_timeout | 500 | 命令执行超时时间(毫秒) |

自定义提示符示例

format = '''
[┌───────────────────>](bold green)
[│](bold green)$directory$rust$package
[└─>](bold green) '''

scan_timeout = 10
add_newline = false

AWS模块配置

AWS模块显示当前AWS配置信息,包括区域、配置文件和临时凭证有效期。

配置示例

[aws]
format = 'on [$symbol($profile )(\($region\) )]($style)'
style = 'bold blue'
symbol = '🅰 '
[aws.region_aliases]
ap-southeast-2 = 'au'
us-east-1 = 'va'

Azure模块配置

Azure模块显示当前Azure订阅信息。

配置示例

[azure]
format = 'on [$symbol($subscription)]($style) '
symbol = '󰠅 '
style = 'blue bold'

通过以上配置,您可以根据个人需求打造出功能强大且美观的终端提示环境。Starship的模块化设计使得定制过程既灵活又简单。

starship ☄🌌️ The minimal, blazing-fast, and infinitely customizable prompt for any shell! starship 项目地址: https://gitcode.com/gh_mirrors/st/starship

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赖欣昱

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值