是什么 ? | : | a powerline-style prompt generator for zsh, bash, fish, and tcsh |
开发语言 | : | Python |
源码仓库 | : | https://github.com/b-ryan/powerline-shell |
pip install powerline-shell
step1、安装依赖
安装时 | git、pip、CPython |
运行时 | CPython |
step2、安装powerline-shell
pip install git+https://github.com/b-ryan/powerline-shell
说明:上面这个命令等同于如下的命令:
git clone https://github.com/b-ryan/powerline-shell
cd powerline-shell
python setup.py install
某些配置可能会用到这种字体。
step1、在~/.bashrc
中加入如下内容
function _update_ps1() {
PS1=$(powerline-shell $?)
}
if [[ $TERM != linux && ! $PROMPT_COMMAND =~ _update_ps1 ]]; then
PROMPT_COMMAND="_update_ps1; $PROMPT_COMMAND"
fi
step2、使上面的配置生效
source ~/.bashrc
注意:如果您的操作系统是macOS, 您应该修改的配置文件是~/.bash_profile
,而不是~/.bashrc
step1、在~/.zshrc
中加入如下内容
function powerline_precmd() {
PS1="$(powerline-shell --shell zsh $?)"
}
function install_powerline_precmd() {
for s in "${precmd_functions[@]}"; do
if [ "$s" = "powerline_precmd" ]; then
return
fi
done
precmd_functions+=(powerline_precmd)
}
if [ "$TERM" != "linux" ]; then
install_powerline_precmd
fi
step2、使上面的配置生效
source ~/.zshrc
step1、在~/.config/fish/config.fish
中加入如下内容
function fish_prompt
powerline-shell --shell bare $status
end
step2、使上面的配置生效
source ~/.config/fish/config.fish
~/.config/powerline-shell/config.json
是powerline-shell
的配置文件。
默认的,这个配置文件是不存在的,您可以通过如下命令生成:
mkdir -p ~/.config/powerline-shell
powerline-shell --generate-config > ~/.config/powerline-shell/config.json
现在您可以对它进行编辑了。
注意:如果通过修改~/.config/powerline-shell/config.json
配置文件无法做到您要的效果,您才考虑直接修改源码。
定位powerline-shell
的安装目录,如果是使用pip安装的,通过如下命令就可以获得:
pip show powerline-shell
powerline-shell
的安装目录是${Location}/powerline_shell
。
在${Location}/powerline_shell/segments
目录下存放的就是各种情形下的配置 (Python脚本), 直接修改这些Python脚本即可。
如果您只是想隐藏某个segment
,比如,您不想显示您的主机名称,您可以直接将${Location}/powerline_shell/segments/hostname.py
中的最后3行中的powerline.append(host_prompt, powerline.theme.HOSTNAME_FG, powerline.theme.HOSTNAME_BG)
语句注释掉即可。
您只要是不想展示哪个segment
,就把对应的powerline.append
的语句注释掉即可。
将${Location}/powerline_shell/segments/git.py
中branch = branch_info['local']
修改成branch = u'\uE0A0 ' + branch_info['local']
, 如下:
效果图: