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格式的字符串来定义显示内容,支持多种字符串类型:
- 字面量字符串:使用单引号
'
,转义较少 - 常规字符串:使用双引号
"
,需要更多转义 - 多行字符串:使用三引号
'''
或"""
特殊字符转义
在格式字符串中,以下字符有特殊含义,需要转义才能显示为普通字符: $ [ ] ( )
样式配置
Starship支持丰富的样式设置,可以通过样式字符串来定义:
# 绿色文字,蓝色背景
style = 'fg:green bg:blue'
# 粗体文字,紫色
style = 'bold fg:purple'
# 下划线,橙色背景
style = 'underline bg:#bf5700'
注意:实际显示效果取决于终端模拟器的支持程度。
条件格式
可以使用括号()
来实现条件显示,当括号内所有变量都为空时,该部分内容不会显示:
# 仅当region变量有值时显示
format = '(@$region)'
模块匹配规则
许多模块支持通过detect_extensions
、detect_files
和detect_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的模块化设计使得定制过程既灵活又简单。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考