标签 提示符 下的文章

控制你的提示符,让你需要的所有信息触手可及。

 title=

没有什么比我忘记在我的 Git 仓库中 git add 文件更让我恼火的了。我在本地测试,提交,然后推送,却发现在持续集成阶段失败了。更糟糕的是,我在 main 分支而不是特性分支上,并不小心推送到它。最好的情况是,因为分支保护而失败,我需要做一些操作才能把改动推送到一个分支。更糟糕的是,我没有正确配置分支保护,不小心直接推送到了 main 分支。

如果这些信息能在提示中直接获得,那不是很好吗?

在提示符中甚至还有更多有用的信息。虽然 Python 虚拟环境的名称在提示符中,但虚拟环境的 Python 版本却不在提示符中。

可以仔细地将 PS1 环境变量配置为所有相关的信息。这可能会变得很长,很烦人,而且调试起来并不简单。

这就是 Starship 被设计来解决的问题。

安装 Starship

Starship 的初始设置只需要两个步骤:安装并配置你的 shell。安装可以很简单:

$ curl -fsSL https://starship.rs/install.sh

阅读安装脚本,确保你理解它的作用,然后让它可执行并运行它:

$ chmod +x install.sh
$ ./install.sh

还有其他的安装方法,在其网站上有介绍。你可以在构建镜像的步骤中设置虚拟机或容器。

配置 Starship

下一步是配置你的 shell 来使用它。要一次性尝试,假设 shell 是 bashzsh,请运行以下命令:

$ eval "$(starship init $(basename $SHELL))"

你的提示符立即改变:

localhost in myproject on  master
>

如果你喜欢你所看到的,把 eval "$(starship init $(basename $SHELL))" 添加到你的 shell 的 rc 文件中,使其永久化。

自定义 Starship

默认安装假定你可以安装“电脑迷字体”,例如 Fantasque Sans Mono。 特别是,你需要一种带有来自 Unicode 的“私有实现”部分的字形的字体。

这在控制终端时非常有效,但有时,终端的配置并不容易。例如,当使用一些浏览器内的 shell 抽象时,配置浏览器的字体可能是不太容易的。

该码位的最大用户是 Git 集成,它使用一个特殊的自定义符号来表示“分支”。禁用它可以通过使用文件 ~/.config/starship.toml 来配置 starship.rs

禁用分支符号是通过配置 git_branch 部分的 format 变量完成的:

[git_branch]
format = "on [$branch]($style) "

starship.rs 的一个好处是,改变配置会立即生效。保存文件,按下回车,看看字体是否符合预期。

还可以配置提示符中不同部分的颜色。例如,如果 Python 部分的亮黄色在白色背景上有点难看,你可以配置为蓝色:

[python]
style = "blue bold"

许多语言都有配置支持,包括 Go、.NET 和 JavaScript。还支持显示命令的持续时间(只针对耗时超过阈值的命令)等。

控制提示符

控制你的提示符,让你需要的所有信息触手可及。安装 Starship,让它为你工作,并享受吧!


via: https://opensource.com/article/22/2/customize-prompt-starship

作者:Moshe Zadka 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

如果你很在意你的终端的外观的话,一个跨 shell 的提示符可以让你轻松地定制和配置 Linux 终端提示符。

虽然我已经介绍了一些帮助你 自定义终端外观 的技巧,但我也发现了一些有趣的跨 shell 提示符的建议。

Starship:轻松地调整你的 Linux Shell 提示符

Starship 是一个用 Rust 编写的开源项目,它可以帮助你建立一个精简、快速、可定制的 shell 提示符。

无论你是使用 bash、fish、还是 Windows 上的 PowerShell,抑或其他 shell,你都可以利用Starship 来定制外观。

请注意,你必须了解它的 官方文档 才能对所有你喜欢的东西进行高级配置,但在这里,我将包括一个简单的示例配置,以有一个良好的开端,以及一些关于 Startship 的关键信息。

Startship 专注于为你提供一个精简的、快速的、有用的默认 shell 提示符。它甚至会记录并显示执行一个命令所需的时间。例如,这里有一张截图:

不仅如此,根据自己的喜好定制提示符也相当简单。下面是一张官方 GIF,展示了它的操作:

让我帮你设置一下。我是在 Ubuntu 上使用 bash shell 来测试的。你可以参考我提到的步骤,或者你可以看看 官方安装说明,以获得在你的系统上安装它的更多选择。

Starship 的亮点

  • 跨平台
  • 跨 shell 支持
  • 能够添加自定义命令
  • 定制 git 体验
  • 定制使用特定编程语言时的体验
  • 轻松定制提示符的每一个方面,而不会对性能造成实质影响

在 Linux 上安装 Starship

安装 Starship 需要下载一个 bash 脚本,然后用 root 权限运行该脚本。

如果你不习惯这样做,你可以使用 snap。

sudo snap install starship

注意:你需要安装 Nerd 字体 才能获得完整的体验。

要开始使用,请确保你安装了 curl。你可以通过键入如下命令来轻松安装它:

sudo apt install curl

完成后,输入以下内容安装 Starship:

curl -fsSL https://starship.rs/install.sh | bash

这应该会以 root 身份将 Starship 安装到 usr/local/bin。你可能会被提示输入密码。看起来如下:

在 bash 中添加 Starship

如截图所示,你会在终端本身得到设置的指令。在这里,我们需要在 .bashrc 用户文件的末尾添加以下一行:

eval "$(starship init bash)"

要想轻松添加,只需键入:

nano .bashrc

然后,通过向下滚动导航到文件的末尾,并在文件末尾添加如下图所示的行:

完成后,只需重启终端或重启会话即可看到一个精简的提示符。对于你的 shell 来说,它可能看起来有点不同,但默认情况下应该是一样的。

设置好后,你就可以继续自定义和配置提示符了。让我给你看一个我做的配置示例:

配置 Starship 提示符:基础

开始你只需要在 .config 目录下制作一个配置文件(TOML文件)。如果你已经有了这个目录,直接导航到该目录并创建配置文件。

下面是创建目录和配置文件时需要输入的内容:

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

请注意,这是一个隐藏目录。所以,当你试图使用文件管理器从主目录访问它时,请确保在继续之前 启用查看隐藏文件

接下来如果你想探索一些你喜欢的东西,你应该参考配置文档。

举个例子,我配置了一个简单的自定义提示,看起来像这样:

为了实现这个目标,我的配置文件是这样的:

根据他们的官方文档,这是一个基本的自定义格式。但是,如果你不想要自定义格式,只是想用一种颜色或不同的符号来自定义默认的提示,那就会像这样:

上述定制的配置文件是这样的:

当然,这不是我能做出的最好看的提示符,但我希望你能理解其配置方式。

你可以通过包括图标或表情符来定制目录的外观,你可以调整变量、格式化字符串、显示 git 提交,或者根据使用特定编程语言而调整。

不仅如此,你还可以创建在你的 shell 中使用的自定义命令,让事情变得更简单或舒适。

你可以在他们的 官方网站 和它的 GitHub 页面 中探索更多的信息。

结论

如果你只是想做一些小的调整,这文档可能会太复杂了。但是,即使如此,它也可以让你用很少的努力实现一个自定义的提示符或精简的提示符,你可以应用于任何普通的 shell 和你正在使用的系统。

总的来说,我不认为它非常有用,但有几个读者建议使用它,看来人们确实喜欢它。我很想看看你是如何 自定义 Linux 终端 以适应不同的使用方式。

欢迎在下面的评论中分享你的看法,如果你喜欢的话。


via: https://itsfoss.com/starship/

作者:Ankush Das 选题:lujun9972 译者:wxy 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

设置你的控制台,以便你能知道身处哪个目录和该做什么

我使用 GNOME 终端,主要是因为它是我的发行版的默认设置。但是我终端内远非“默认值”。在我开始解释如何自定义它之前,它现在是这个样子:

 title=

从底部开始

我使用终端多路复用技术 tmux 管理我的终端体验。

在上图的底部,你可以看到我的绿色 tmux 栏。底部的 [3] 表示它是第三个终端:每个终端都运行自己的 tmux 会话。(我创建了一个新会话来放大字体,这样可在截图中更容易看到;这是它与其他终端之间的唯一区别。)

提示符看起来也很有趣,对吧?在提示符中塞入了太多信息后,我喜欢插上一个换行符,这样一来,如果我想即兴进行 shell 编程或编写一个传递了五次的管道,也不会超出屏幕界限。这样做的代价是简单的命令序列(新建、复制、移动)会更快地滚动出我的屏幕。

行末是 阿列夫零 Aleph null 字符,它是最小的无穷基数。我希望内容行的结束很明显,并且当我意识到“阿列夫”和下标 0 都是 Unicode 字符时,我无法抗拒使用“阿列夫零”作为提示符的一部分的诱惑。(数学极客们,团结起来!)

在此之前是我的用户名。由于我在不同用户名的多台计算机上使用相同的点文件(保存在 Git 中),因此这个还算有用。

在我的用户名之前,是我所在目录的最后一部分。完整路径通常太长且无用,而当前目录对于像我这样的经常忘记在做什么人来说是很有用的。在此之前是机器的名称。我所有的机器都以我喜欢的电视节目命名。我的旧笔记本是 mcgyver

提示符中的第一位是我最喜欢的:一个让我知道目录的 Git 状态的字母。如果目录为“不在 Git 中”,那么是 G。如果目录为“没有问题”(OK),且无需任何操作,那么是 K。如果有 Git 未知的文件需要添加或忽略,那么是 !。如果需要提交,那么是 C。如果没有上游,那么是 U。如果存在上游,但我没有推送,那么是 P。该方案不是基于当前状态,而是描述了我要做的下一个动作。(要回顾 Git 术语,请阅读本文。)

终端功能是通过一个有趣的 Python 程序完成的。它运行 python -m howsit(在我把 howsit 安装在虚拟环境中之后)。

你可以在上图中看到渲染效果,但是为了完整起见,这是我的 PS1

[$(~/.virtualenvs/howsit/bin/python -m howsit)]\h:\W \u ℵ₀  
$

via: https://opensource.com/article/20/7/tmux-git

作者:Moshe Zadka 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

你的 Linux 终端可能支持 Unicode,那么为何不利用它在提示符中添加季节性的图标呢?

欢迎再次来到 Linux 命令行玩具日历的另一篇。如果这是你第一次访问该系列,你甚至可能会问自己什么是命令行玩具?我们对此比较随意:它会是终端上有任何有趣的消遣,对于任何节日主题相关的还有额外的加分。

也许你以前见过其中的一些,也许你没有。不管怎样,我们希望你玩得开心。

今天的玩具非常简单:它是你的 Bash 提示符。你的 Bash 提示符?是的!我们还有几个星期的假期可以盯着它看,在北半球冬天还会再多几周,所以为什么不玩玩它。

目前你的 Bash 提示符号可能是一个简单的美元符号( $),或者更有可能是一个更长的东西。如果你不确定你的 Bash 提示符是什么,你可以在环境变量 $PS1 中找到它。要查看它,请输入:

echo $PS1

对于我而言,它返回:

[\u@\h \W]\$

\u\h\W 分别是用户名、主机名和工作目录的特殊字符。你还可以使用其他一些符号。为了帮助构建你的 Bash 提示符,你可以使用 EzPrompt,这是一个 PS1 配置的在线生成器,它包含了许多选项,包括日期和时间、Git 状态等。

你可能还有其他变量来组成 Bash 提示符。对我来说,$PS2 包含了我命令提示符的结束括号。有关详细信息,请参阅 这篇文章

要更改提示符,只需在终端中设置环境变量,如下所示:

$ PS1='\u is cold: '
jehb is cold:

要永久设置它,请使用你喜欢的文本编辑器将相同的代码添加到 /etc/bashrc 中。

那么这些与冬季化有什么关系呢?好吧,你很有可能有现代一下的机器,你的终端支持 Unicode,所以你不仅限于标准的 ASCII 字符集。你可以使用任何符合 Unicode 规范的 emoji,包括雪花 ❄、雪人 ☃ 或一对滑雪板。你有很多冬季 emoji 可供选择。

  • 圣诞树
  • 外套
  • 鹿手套
  • 圣诞夫人
  • 圣诞老人
  • 围巾
  • 滑雪者
  • 滑雪板
  • 雪花
  • 雪人
  • 没有雪的雪人
  • 包装好的礼物

选择你最喜欢的,享受冬天的欢乐。有趣的事实:现代文件系统也支持文件名中的 Unicode 字符,这意味着技术上你可以将你下个程序命名为 ❄❄❄❄❄.py。只是说说,不要这么做。

你有特别喜欢的命令行小玩具需要我介绍的吗?这个系列要介绍的小玩具大部分已经有了落实,但还预留了几个空位置。如果你有特别想了解的可以评论留言,我会查看的。如果还有空位置,我会考虑介绍它的。如果没有,但如果我得到了一些很好的意见,我会在最后做一些有价值的提及。

查看昨天的玩具,在 Linux 终端玩贪吃蛇,记得明天再来!


via: https://opensource.com/article/18/12/linux-toy-bash-prompt

作者:Jason Baker 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

众所周知,bash(the Bourne-Again Shell)是目前绝大多数 Linux 发行版使用的默认 shell。本文将会介绍如何通过添加颜色和样式来自定义 bash 命令提示符的显示。尽管很多插件或工具都可以很轻易地满足这一需求,但我们也可以不使用插件和工具,自己手动自定义一些基本的显示方式,例如添加或者修改某些元素、更改前景色、更改背景色等等。

在 Linux 中自定义 bash 命令提示符

在 bash 中,我们可以通过更改 $PS1 环境变量的值来自定义 bash 命令提示符。

一般情况下,bash 命令提示符会是以下这样的形式:

在上图这种默认显示形式当中,“sk” 是我的用户名,而 “ubuntuserver” 是我的主机名。

只要插入一些以反斜杠开头的特殊转义字符串,就可以按照你的喜好修改命令提示符了。下面我来举几个例子。

在开始之前,我强烈建议你预先备份 ~/.bashrc 文件。

$ cp ~/.bashrc ~/.bashrc.bak

更改 bash 命令提示符中的 username@hostname 部分

如上所示,bash 命令提示符一般都带有 “username@hostname” 部分,这个部分是可以修改的。

只需要编辑 ~/.bashrc 文件:

$ vi ~/.bashrc

在文件的最后添加一行:

PS1="ostechnix> "

将上面的 “ostechnix” 替换为任意一个你想使用的单词,然后按 ESC 并输入 :wq 保存、退出文件。

执行以下命令使刚才的修改生效:

$ source ~/.bashrc

你就可以看见 bash 命令提示符中出现刚才添加的 “ostechnix” 了。

再来看看另一个例子,比如将 “username@hostname” 替换为 “Hello@welcome>”。

同样是像刚才那样修改 ~/.bashrc 文件。

export PS1="Hello@welcome> "

然后执行 source ~/.bashrc 让修改结果立即生效。

以下是我在 Ubuntu 18.04 LTS 上修改后的效果。

仅显示用户名

如果需要仅显示用户名,只需要在 ~/.bashrc 文件中加入以下这一行。

export PS1="\u "

这里的 \u 就是一个转义字符串。

下面提供了一些可以添加到 $PS1 环境变量中的用以改变 bash 命令提示符样式的转义字符串。每次修改之后,都需要执行 source ~/.bashrc 命令才能立即生效。

显示用户名和主机名

export PS1="\u\h "

命令提示符会这样显示:

skubuntuserver

显示用户名和完全限定域名

export PS1="\u\H "

在用户名和主机名之间显示其它字符

如果你还需要在用户名和主机名之间显示其它字符(例如 @),可以使用以下格式:

export PS1="\u@\h "

命令提示符会这样显示:

sk@ubuntuserver

显示用户名、主机名,并在末尾添加 $ 符号

export PS1="\u@\h\\$ "

综合以上两种显示方式

export PS1="\u@\h> "

命令提示符最终会这样显示:

sk@ubuntuserver>

相似地,还可以添加其它特殊字符,例如冒号、分号、星号、下划线、空格等等。

显示用户名、主机名、shell 名称

export PS1="\u@\h>\s "

显示用户名、主机名、shell 名称以及 shell 版本

export PS1="\u@\h>\s\v "

bash 命令提示符显示样式:

显示用户名、主机名、当前目录

export PS1="\u@\h\w "

如果当前目录是 $HOME ,会以一个波浪线(~)显示。

在 bash 命令提示符中显示日期

除了用户名和主机名,如果还想在 bash 命令提示符中显示日期,可以在 ~/.bashrc 文件中添加以下内容:

export PS1="\u@\h>\d "

在 bash 命令提示符中显示日期及 12 小时制时间

export PS1="\u@\h>\d\@ "

显示日期及 hh:mm:ss 格式时间

export PS1="\u@\h>\d\T "

显示日期及 24 小时制时间

export PS1="\u@\h>\d\A "

显示日期及 24 小时制 hh:mm:ss 格式时间

export PS1="\u@\h>\d\t "

以上是一些常见的可以改变 bash 命令提示符的转义字符串。除此以外的其它转义字符串,可以在 bash 的 man 手册 PROMPTING 章节中查阅。

你也可以随时执行以下命令查看当前的命令提示符样式。

$ echo $PS1

在 bash 命令提示符中去掉 username@hostname 部分

如果我不想做任何调整,直接把 username@hostname 部分整个去掉可以吗?答案是肯定的。

如果你是一个技术方面的博主,你有可能会需要在网站或者博客中上传自己的 Linux 终端截图。或许你的用户名和主机名太拉风、太另类,不想让别人看到,在这种情况下,你就需要隐藏命令提示符中的 “username@hostname” 部分。

如果你不想暴露自己的用户名和主机名,只需要按照以下步骤操作。

编辑 ~/.bashrc 文件:

$ vi ~/.bashrc

在文件末尾添加这一行:

PS1="\W> "

输入 :wq 保存并关闭文件。

执行以下命令让修改立即生效。

$ source ~/.bashrc

现在看一下你的终端,“username@hostname” 部分已经消失了,只保留了一个 ~> 标记。

如果你想要尽可能简单的操作,又不想弄乱你的 ~/.bashrc 文件,最好的办法就是在系统中创建另一个用户(例如 “user@example”、“admin@demo”)。用带有这样的命令提示符的用户去截图或者录屏,就不需要顾虑自己的用户名或主机名被别人看见了。

警告:在某些情况下,这种做法并不推荐。例如像 zsh 这种 shell 会继承当前 shell 的设置,这个时候可能会出现一些意想不到的问题。这个技巧只用于隐藏命令提示符中的 “username@hostname” 部分,仅此而已,如果把这个技巧挪作他用,也可能会出现异常。

为 bash 命令提示符着色

目前我们也只是变更了 bash 命令提示符中的内容,下面介绍一下如何对命令提示符进行着色。

通过向 ~/.bashrc 文件写入一些配置,可以修改 bash 命令提示符的前景色(也就是文本的颜色)和背景色。

例如,下面这一行配置可以令某些文本的颜色变成红色:

export PS1="\u@\[\e[31m\]\h\[\e[m\] "

添加配置后,执行 source ~/.bashrc 立即生效。

你的 bash 命令提示符就会变成这样:

类似地,可以用这样的配置来改变背景色:

export PS1="\u@\[\e[31;46m\]\h\[\e[m\] "

添加 emoji

大家都喜欢 emoji。还可以按照以下配置把 emoji 插入到命令提示符中。

PS1="\W ♤ >"

需要注意的是,emoji 的显示取决于使用的字体,因此某些终端可能会无法正常显示 emoji,取而代之的是一些乱码或者单色表情符号。

自定义 bash 命令提示符有点难,有更简单的方法吗?

如果你是一个新手,编辑 $PS1 环境变量的过程可能会有些困难,因为命令提示符中的大量转义字符串可能会让你有点晕头转向。但不要担心,有一个在线的 bash $PS1 生成器可以帮助你轻松生成各种 $PS1 环境变量值。

就是这个网站

EzPrompt

只需要直接选择你想要的 bash 命令提示符样式,添加颜色、设计排序,然后就完成了。你可以预览输出,并将配置代码复制粘贴到 ~/.bashrc 文件中。就这么简单。顺便一提,本文中大部分的示例都是通过这个网站制作的。

我把我的 ~/.bashrc 文件弄乱了,该如何恢复?

正如我在上面提到的,强烈建议在更改 ~/.bashrc 文件前做好备份(在更改其它重要的配置文件之前也一定要记得备份)。这样一旦出现任何问题,你都可以很方便地恢复到更改之前的配置状态。当然,如果你忘记了备份,还可以按照下面这篇文章中介绍的方法恢复为默认配置。

这篇文章是基于 ubuntu 的,但也适用于其它的 Linux 发行版。不过事先声明,这篇文章的方法会将 ~/.bashrc 文件恢复到系统最初时的状态,你对这个文件做过的任何修改都将丢失。

感谢阅读!


via: https://www.ostechnix.com/hide-modify-usernamelocalhost-part-terminal/

作者:SK 选题:lujun9972 译者:HankChow 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

Powerline 是一个极棒的 Vim 编辑器的状态行插件,这个插件是使用 Python 开发的,主要用于显示状态行和提示信息,适用于很多软件,比如 bash、zsh、tmux 等等。

特色

  1. 使用 python 编写,使其更具扩展性且功能丰富
  2. 稳定易测的代码库,兼容 python 2.6+ 和 python 3
  3. 支持多种 Linux 功能及工具的提示和状态栏
  4. 通过 JSON 保存配置和颜色方案
  5. 快速、轻量级,具有后台守护进程支持,提供更佳的性能

Powerline 效果截图

Powerline Vim Statuslines

Vim 中 Powerline 状态行效果

在本文中,我会介绍如何安装 Powerline 及其字体,以及如何在 RedHat 和 Debian 类的系统中使 Bash 和 Vim 支持 Powerline。

第一步:准备好安装 Powerline 所需的软件

由于和其它无关项目之间存在命名冲突,因此 powerline 只能放在 PyPI(Python Package Index)中的 powerline-status 包下.

为了从 PyPI 中安装该包,需要先准备好 pip(该工具专门用于 Python 包的管理)工具。所以首先要在 Linux 系统下安装好 pip 工具。

在 Debian、Ubuntu 和 Linux Mint 中安装 pip

# apt-get install python-pip

示例输出:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Recommended packages:
python-dev-all python-wheel
The following NEW packages will be installed:
python-pip
0 upgraded, 1 newly installed, 0 to remove and 533 not upgraded.
Need to get 97.2 kB of archives.
After this operation, 477 kB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu/ trusty-updates/universe python-pip all 1.5.4-1ubuntu3 [97.2 kB]
Fetched 97.2 kB in 1s (73.0 kB/s)     
Selecting previously unselected package python-pip.
(Reading database ... 216258 files and directories currently installed.)
Preparing to unpack .../python-pip_1.5.4-1ubuntu3_all.deb ...
Unpacking python-pip (1.5.4-1ubuntu3) ...
Processing triggers for man-db (2.6.7.1-1ubuntu1) ...
Setting up python-pip (1.5.4-1ubuntu3) ...

在 CentOS、RHEL 和 Fedora 中安装 pip

在 Fedora 类系统中,需要先打开 epel 仓库,然后按照如下方法安装 pip 包。

# yum install python-pip          
# dnf install python-pip                     [Fedora 22+ 以上]           

示例输出:

Installing:
python-pip          noarch          7.1.0-1.el7             epel          1.5 M
Transaction Summary
=================================================================================
Install  1 Package
Total download size: 1.5 M
Installed size: 6.6 M
Is this ok [y/d/N]: y
Downloading packages:
python-pip-7.1.0-1.el7.noarch.rpm                         | 1.5 MB  00:00:01     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : python-pip-7.1.0-1.el7.noarch                                 1/1 
Verifying  : python-pip-7.1.0-1.el7.noarch                                 1/1 
Installed:
python-pip.noarch 0:7.1.0-1.el7                                                
Complete!

第二步:在 Linux 中安装 Powerline

现在可以从 Git 仓库中安装 Powerline 的最新开发版。在此之前系统需要安装好 Git 工具以便可以从仓库拉下代码。

# apt-get install git
# yum install git
# dnf install git

然后你可以通过 pip 命令安装 Powerline。

# pip install git+git://github.com/powerline/powerline

示例输出:

Cloning git://github.com/powerline/powerline to /tmp/pip-WAlznH-build
Running setup.py (path:/tmp/pip-WAlznH-build/setup.py) egg_info for package from git+git://github.com/Lokaltog/powerline
warning: no previously-included files matching '*.pyc' found under directory 'powerline/bindings'
warning: no previously-included files matching '*.pyo' found under directory 'powerline/bindings'
Installing collected packages: powerline-status
Found existing installation: powerline-status 2.2
Uninstalling powerline-status:
Successfully uninstalled powerline-status
Running setup.py install for powerline-status
warning: no previously-included files matching '*.pyc' found under directory 'powerline/bindings'
warning: no previously-included files matching '*.pyo' found under directory 'powerline/bindings'
changing mode of build/scripts-2.7/powerline-lint from 644 to 755
changing mode of build/scripts-2.7/powerline-daemon from 644 to 755
changing mode of build/scripts-2.7/powerline-render from 644 to 755
changing mode of build/scripts-2.7/powerline-config from 644 to 755
changing mode of /usr/local/bin/powerline-config to 755
changing mode of /usr/local/bin/powerline-lint to 755
changing mode of /usr/local/bin/powerline-render to 755
changing mode of /usr/local/bin/powerline-daemon to 755
Successfully installed powerline-status
Cleaning up...

第三步:在 Linux 中安装 Powerline 的字体

Powerline 使用特殊的符号来为开发者显示特殊的箭头效果和符号内容。因此你的系统中必须要有符号字体或者补丁过的字体。

通过下面的 wget 命令下载最新的系统字体及字体配置文件。

# wget https://github.com/powerline/powerline/raw/develop/font/PowerlineSymbols.otf
# wget https://github.com/powerline/powerline/raw/develop/font/10-powerline-symbols.conf

然后你将下载的字体放到字体目录下 /usr/share/fonts 或者 /usr/local/share/fonts,或者你可以通过 xset q 命令找到一个有效的字体目录。

# mv PowerlineSymbols.otf /usr/share/fonts/

接下来你需要通过如下命令更新你系统的字体缓存。

# fc-cache -vf /usr/share/fonts/

其次安装字体配置文件。

# mv 10-powerline-symbols.conf /etc/fonts/conf.d/

注意:如果相应的符号没有出现,可以尝试关闭终端会话并重启 X window,这样就会生效了。

第四步:给 Bash Shell 和 Vim 状态行设置 Powerline

在这一节将介绍 bash shell 和 vim 编辑器中关于 Powerline 的配置。首先通过在 ~/.bashrc 中添加如下内容以便设置终端为 256 色。

export TERM="screen-256color"

打开 Bash Shell 中的 Powerline

如果希望在 bash shell 中默认打开 Powerline,可以在 ~/.bashrc 中添加如下内容。

首先通过如下命令获取 powerline 的安装位置。

# pip show powerline-status
Name: powerline-status
Version: 2.2.dev9999-git.aa33599e3fb363ab7f2744ce95b7c6465eef7f08
Location: /usr/local/lib/python2.7/dist-packages
Requires: 

一旦找到 powerline 的具体位置后,根据你系统的情况替换到下列行中的 /usr/local/lib/python2.7/dist-packages 对应的位置。

powerline-daemon -q
POWERLINE_BASH_CONTINUATION=1
POWERLINE_BASH_SELECT=1
. /usr/local/lib/python2.7/dist-packages/powerline/bindings/bash/powerline.sh

然后退出后重新登录,现在 powerline 的状态行应该如下显示了。

Bash Powerline Statuslines

现在切换目录并注意显示你当前路径的面包屑导航提示的变化。

如果远程 Linux 服务器上安装了 powerline,你能看到后台挂起的任务,当你用 ssh 登录上去时,会看到该提示增加了主机名。

在 Vim 中打开 Powerline

如果你喜欢使用 vim,正好有一个 vim 的强力插件。可以在 ~/.vimrc 中添加如下内容打开该插件(LCTT 译注:注意同样需要根据你的系统情况修改路径)。

set rtp+=/usr/local/lib/python2.7/dist-packages/powerline/bindings/vim/
set laststatus=2
set t_Co=256

然后你打开 vim 后会看到一个新的状态行:

Vim Powerline Statuslines

总结

Powerline 可以在某些软件中提供颜色鲜艳、很优美的状态行及提示内容,这对编程环境有利。希望这篇指南对您有帮助,如果您需要帮助或者有任何好的想法,请留言给我。


作者简介:

我是Ravi Saive,TecMint的作者。一个喜欢分享诀窍和想法的电脑极客及Linux专家。我的大部分服务都运行在开源平台Linux中。关注我的Twitter,Facebook和Google+。


via: http://www.tecmint.com/powerline-adds-powerful-statuslines-and-prompts-to-vim-and-bash/

作者:Ravi Saive 译者:beyondworld 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出