探索Trueline:为Bash带来真彩色Powerline风格提示符
在众多命令行工具中,一个美观且功能强大的提示符可以极大地提升你的工作效率和心情。今天,我们要介绍的是一个开源项目——Trueline,它为Bash用户带来了Powerline风格的提示符,并支持真彩色(24位)和丰富的图标。
项目介绍
Trueline是一个快速且可扩展的Powerline风格Bash提示符,它不仅支持真彩色(24位),还提供了丰富的图标支持。该项目受到了Pureline和Powerlevel9k的启发,但在实现上更加简洁和灵活。
项目技术分析
Trueline的核心优势在于其纯Bash代码实现,这意味着它不需要任何外部依赖,可以在大多数Bash环境中直接运行。此外,Trueline支持RGB颜色代码,扩展了图标/符号的使用,简化了配置过程,并提供了当前输入模式(如vi模式)的显示功能。
项目及技术应用场景
Trueline适用于任何希望提升Bash提示符美观度和功能性的用户。无论你是开发者、系统管理员还是普通用户,Trueline都能为你提供一个清晰、美观且功能丰富的命令行界面。
项目特点
- 真彩色支持:Trueline支持24位真彩色,让你的提示符更加丰富多彩。
- 丰富的图标支持:通过支持Nerd Fonts,Trueline可以在提示符中显示各种图标,使信息更加直观。
- 高度可定制:Trueline提供了丰富的配置选项,包括颜色、段落、符号和扩展,让你可以根据个人喜好定制提示符。
- 快速且轻量:纯Bash实现使得Trueline运行迅速且资源消耗低。
安装与使用
安装Trueline非常简单,只需将trueline.sh
脚本下载并源入你的.bashrc
文件中即可。以下是安装步骤:
$> git clone https://github.com/petobens/trueline ~/trueline
$> echo 'source ~/trueline/trueline.sh' >> ~/.bashrc
或者使用wget:
$> wget https://raw.githubusercontent.com/petobens/trueline/master/trueline.sh -P ~/
$> echo 'source ~/trueline.sh' >> ~/.bashrc
如果你使用支持“Powerline”字形的字体,如Nerd Fonts项目中的字体,提示符将正确渲染,无需进一步配置。
定制化
Trueline的定制化非常简单,所有设置都可以在你的.bashrc
文件中定义。以下是一个简单的配置示例:
declare -A TRUELINE_COLORS=(
[light_blue]='75;161;207'
[grey]='99;99;100'
[pink]='199;88;157'
)
declare -a TRUELINE_SEGMENTS=(
'working_dir,light_blue,black,normal'
'git,grey,black,normal'
'time,white,black,normal'
'newline,pink,black,bold'
)
declare -A TRUELINE_SYMBOLS=(
[git_modified]='*'
[git_github]=''
[segment_separator]=''
[working_dir_folder]='...'
[working_dir_separator]='/'
[working_dir_home]='~'
[newline]='❯'
[clock]='🕒'
)
TRUELINE_GIT_SHOW_STATUS_NUMBERS=false
TRUELINE_GIT_MODIFIED_COLOR='grey'
TRUELINE_WORKING_DIR_SPACE_BETWEEN_PATH_SEPARATOR=false
_trueline_time_segment() {
local prompt_time="${TRUELINE_SYMBOLS[clock]} \t"
if [[ -n "$prompt_time" ]]; then
local fg_color="$1"
local bg_color="$2"
local font_style="$3"
local segment="$(_trueline_separator)"
segment+="$(_trueline_content "$fg_color" "$bg_color" "$font_style" " $prompt_time ")"
PS1+="$segment"
_trueline_record_colors "$fg
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考