跳转至内容

Powerline

来自 ArchWiki

Powerline 是 Vim 的状态行插件,并为多种其他应用程序提供状态行和提示符,包括 zsh、bash、fish、tmux、IPython、Awesome、i3 和 Qtile。

安装

安装 powerlinepowerline-fonts

注意 安装 powerline-fonts 并不会提供 powerline-fonts-gitAUR 的任何补丁字体。

用法

Bash

将以下内容添加到您的 bashrc 文件中

~/.bashrc
powerline-daemon -q
POWERLINE_BASH_CONTINUATION=1
POWERLINE_BASH_SELECT=1
. /usr/share/powerline/bindings/bash/powerline.sh

关闭并重新打开您的终端,它应该就可以正常工作了。如果不行,请查看 Powerline bash 提示符 的使用说明,确保您没有更改它。

提示 如果您不想关闭并重新打开终端,也可以之后 source 它。

Zsh

将以下内容添加到您的 zshrc 文件中

~/.zshrc
powerline-daemon -q
. /usr/share/powerline/bindings/zsh/powerline.zsh
注意 如果您正在使用 oh-my-zsh,您应该删除或注释掉您 ~/.zshrc 文件中的 ZSH_THEME=oh-my-zsh theme" 行。如果您正在使用 grml-zsh-config,请不要忘记在上述添加内容之前插入 prompt off

Fish

将以下内容添加到您的 config.fish 文件中

~/.config/fish/config.fish
set fish_function_path $fish_function_path "/usr/share/powerline/bindings/fish"
source /usr/share/powerline/bindings/fish/powerline-setup.fish
powerline-setup

重启您的终端模拟器,它应该就能工作了。

Tmux

将以下内容添加到您的 tmux.conf 文件中

~/.config/tmux/tmux.conf
 source /usr/share/powerline/bindings/tmux/powerline.conf
  • 只需将此添加到 tmux 配置中即可:无需添加到您的 shell 配置中。
  • 注意 tmux 配置中可能存在的干扰样式(例如 window-status-format)。

Vim

安装 vim-powerline

注意 如果您安装了多个版本的 python,请将 let g:powerline_pycmd="py3"let g:powerline_pycmd="py" 添加到您的 .vimrc 文件中。
提示
  • 默认情况下,状态行(以及因此的 Powerline)仅在打开多个窗口时出现。要使其一直显示,请使用 :set laststatus=2
  • 此软件包会将 Powerline 安装到 /usr/share/vim/vimfiles/plugin,vim 已配置为默认检查此目录,这意味着这将为所有用户在 vim 中安装 Powerline,并且可能需要额外的配置。如果这不是您想要的结果,请考虑使用 vim 插件管理器,或者安装 powerline 软件包并将 set rtp+=/usr/share/powerline/bindings/vim 添加到您的 .vimrc 文件中。

详细用法

有关详细用法说明,例如配置您的系统以在其他 shell、窗口管理器小部件等中使用 Powerline,请参阅 Powerline 文档用法部分

自定义

官方 Powerline 文档 提到了 powerline_root,在 Arch Linux 上,它指的是以下路径

/usr/lib/python3.x/site-packages/powerline

要自定义 Powerline,请将默认配置复制到 $XDG_CONFIG_HOME/powerline/...。然后根据您的喜好编辑文件。

自定义 Powerline 以用于 tmux 的示例

$ mkdir -p ~/.config/powerline/themes/tmux/
$ cp /usr/lib/python3.x/site-packages/powerline/config_files/themes/tmux/default.json ~/.config/powerline/themes/tmux/default.json

技巧与提示

替代安装方式

使用 python-pip

使用 vim 插件管理器

有许多可用的 vim 插件管理器,它们能够安装和更新 Powerline,前提是您使用的是支持 Python 的 vim 版本,或者您已安装 python。例如,使用 vim-plugAUR,将以下内容添加到您的 .vimrc 文件中

~/.vimrc
call plug#begin('path/to/vim/plugins/directory')

Plug 'powerline/powerline'

call plug#end()

path/to/vim/plugins/directory 替换为实际的目录,例如 ~/.vim/plugged,然后在 vim 中运行 vim-plug 命令 :PlugInstall。这会将 Powerline 从 Powerline GitHub 页面下载到指定的插件目录并将其添加到 vim 中。

注意 Powerline 尚不支持 Neovim:请参阅 添加对 NeoVim 的支持

替代字体

powerline-console-fontsAUR 中提供了用于文本控制台的精简字体集。

替代插件

目前 Powerline 有一个已知的替代插件 — Vim-airline。它是 vim-plugins 的一部分,可以单独安装为 vim-airline。您可以选择安装 vim-airline-themes

注意vim-airline 中,显示当前 git 分支依赖于 vim-fugitive。vim-fugitive v2.4 的一项更改破坏了此功能。上游不会发布一个包含修复与 vim-fugitive v2.4 兼容性的单个提交的新版本。在此之前,如果您想看到当前的 git 分支,您必须:使用 vim-airline-gitAUR;降级 vim-fugitive 到 v2.3;或者自己制作 vim-airline v0.9.0,并 cherry-pick 上游的修复提交。如果您决定 cherry-pick,它不会干净地应用,因此您也需要修复它。

故障排除

字体:字形缺失

如果您安装了 powerline-fonts 但注意到字形缺失,请确保您的 locale 已正确设置。重启您的会话以查看更改。