Powerline: agrega poderosas líneas de estado y avisos a Vim Editor y Bash Terminal


Powerline es un gran complemento de línea de estado para el editor de Vim, que está desarrollado en Python y proporciona líneas de estado y avisos para muchas otras aplicaciones como bash, zsh, tmux y muchas más.

  1. It is written in Python, which makes it extensible and feature rich.
  2. Stable and testable code base, which works well with Python 2.6+ and Python 3.
  3. It also supports prompts and statuslines in several Linux utilities and tools.
  4. It has configurations and decorator colors developed using JSON.
  5. Fast and lightweight, with daemon support, which provides even more better performance.

En este artículo, le mostraré cómo instalar las fuentes Powerline y Powerline y cómo usarlas con Bash y Vim en sistemas basados u200bu200ben RedHat y Debian.

Paso 1: Instalación de requisitos genéricos para Powerline

Debido a un conflicto de nombres con algunos otros proyectos no relacionados, el programa powerline está disponible en PyPI (índice de paquetes de Python) bajo el nombre del paquete como powerline-status.

Para instalar paquetes de PyPI, necesitamos un "pip" (herramienta de administración de paquetes para instalar paquetes de Python). Entonces, primero instalemos la herramienta pip en nuestros sistemas Linux.

# 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) ...

En los sistemas basados u200bu200ben Fedora, primero debe habilitar epel-repository y luego instalar el paquete pip como se muestra.

# yum install python-pip          
# dnf install python-pip                     [On Fedora 22+ versions]           
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!

Paso 2: Instalación de la herramienta Powerline en Linux

Ahora es el momento de instalar la última versión de desarrollo de Powerline desde el repositorio de Git. Para esto, su sistema debe tener instalado el paquete git para poder obtener los paquetes de Git.

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

A continuación, puede instalar Powerline con la ayuda del comando pip como se muestra.

# pip install git+git://github.com/Lokaltog/powerline
 Cloning git://github.com/Lokaltog/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...

Paso 3: Instalación de fuentes Powerline en Linux

Powerline usa glifos especiales para mostrar efectos de flecha y símbolos especiales para los desarrolladores. Para ello, debe tener una fuente de símbolo o una fuente parcheada instalada en sus sistemas.

Descargue la versión más reciente de la fuente del símbolo y el archivo de configuración fontconfig usando el siguiente comando 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

Luego, debe mover la fuente a su directorio de fuentes,/usr/share/fonts/o/usr/local/share/fonts de la siguiente manera o puede obtener las rutas de fuente válidas usando el comando xset q .

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

A continuación, debe actualizar la caché de fuentes de su sistema de la siguiente manera.

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

Ahora instale el archivo fontconfig.

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

Nota: Si los símbolos personalizados no aparecen, intente cerrar todas las sesiones de terminal y reinicie la ventana X para que los cambios surtan efecto.

Paso 4: Configuración de Powerline para Bash Shell y Vim Statuslines

En esta sección veremos cómo configurar Powerline para bash shell y vim editor. Primero haga que su terminal admita 256 colores agregando la siguiente línea al archivo ~/.bashrc de la siguiente manera.

export TERM=”screen-256color” 

Para habilitar Powerline en bash shell de forma predeterminada, debe agregar el siguiente fragmento a su archivo ~/.bashrc.

Primero obtenga la ubicación de la línea eléctrica instalada usando el siguiente comando.

# pip show powerline-status

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

Una vez que sepa la ubicación real de la línea eléctrica, asegúrese de reemplazar la ubicación en la línea a continuación según lo sugerido por su sistema.

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

Ahora intente cerrar sesión y volver a iniciar sesión, verá estatuas de powerline como se muestra a continuación.

Intente cambiar o cambiar a diferentes directorios y esté atento a los cambios del mensaje de "ruta de navegación" para mostrar su ubicación actual.

También podrá ver trabajos en segundo plano pendientes y si powerline está instalado en una máquina Linux remota, puede notar que el mensaje agrega el nombre de host cuando se conecta a través de SSH.

Si vim es su editor favorito, afortunadamente también hay un poderoso complemento para vim. Para habilitar este complemento, agregue estas líneas al archivo ~/.vimrc .

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

Ahora puede iniciar vim y ver una nueva línea de estado espectacular:

Resumen

Powerline ayuda a establecer líneas de estado e indicaciones coloridas y hermosas en varias aplicaciones, lo que es bueno para entornos de codificación. Espero que encuentre útil esta guía y recuerde publicar un comentario si necesita ayuda o tiene ideas adicionales.