Computer >> 컴퓨터 >  >> 프로그래밍 >> Bash 프로그래밍

Powerline: 사용자 지정 상태 표시줄과 프롬프트로 Vim과 셸을 더 강력하게

Powerline은 Python으로 개발된 훌륭한 Vim 상태 표시줄(statusline) 플러그인으로, bash, zsh, tmux 등 다양한 애플리케이션에 상태 표시줄과 프롬프트를 제공합니다.

편집기 창 하단에 사용자가 원하는 대로 꾸밀 수 있는 정보성 높은 상태 표시줄을 제공하여 Vim 편집기의 외관과 기능을 한층 끌어올립니다. 이 상태 표시줄에는 현재 모드(일반, 입력, 비주얼 등), 파일 이름, 경로, 줄·열 번호, Git 브랜치, 가상 환경 정보 등이 표시됩니다.

Powerline: 사용자 지정 상태 표시줄과 프롬프트로 Vim과 셸을 더 강력하게Powerline Vim 상태 표시줄

주요 특징

  • Python으로 작성되어 확장성이 뛰어나고 기능이 풍부합니다.
  • Python 2.6+ 및 Python 3와 호환되는 안정적이고 테스트 가능한 코드베이스입니다.
  • 다양한 리눅스 유틸리티와 도구에서 프롬프트 및 상태 표시줄을 지원합니다.
  • JSON 기반의 설정과 데코레이터 색상 구성을 제공합니다.
  • 빠르고 가볍고, 데몬 지원을 통해 더욱 향상된 성능을 발휘합니다.

이 글에서는 RHEL 계열 및 Debian 계열 배포판에서 PowerlinePowerline 폰트를 설치하고, BashVim에서 활용하는 방법을 소개합니다.

리눅스에서 Powerline 설치하기

다른 무관한 프로젝트들과의 이름 충돌 문제로 인해 powerline 프로그램은 PyPI(Python Package Index)에서 powerline-status라는 패키지 이름으로 제공됩니다.

PyPI에서 패키지를 설치하려면 파이썬 패키지 설치용 pip 패키지 관리 도구가 필요합니다. 먼저 리눅스 시스템에 pip를 설치해 보겠습니다.

$ sudo apt install python3-pip [On Debian, Ubuntu and Mint]
$ sudo yum install python3-pip [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
$ sudo emerge -a dev-lang/pip [On Gentoo Linux]
$ sudo apk add py3-pip [On Alpine Linux]
$ sudo pacman -S python-pip [On Arch Linux]
$ sudo zypper install python3-pip [On OpenSUSE] 

이제 Git 저장소에서 Powerline 최신 개발 버전을 설치할 차례입니다. Git 저장소에서 패키지를 가져오려면 시스템에 Git이 설치되어 있어야 합니다.

$ sudo apt install git [On Debian, Ubuntu and Mint]
$ sudo yum install git [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
$ sudo emerge -a git [On Gentoo Linux]
$ sudo apk add git [On Alpine Linux]
$ sudo pacman -S git [On Arch Linux]
$ sudo zypper install git [On OpenSUSE] 

그다음 pip 명령으로 Powerline을 설치합니다.

$ pip install powerline-status

설치 중 "externally-managed-environment" 오류 메시지가 나타날 수 있는데, 이는 주로 Python 가상 환경 관련 상황에서 발생하는 오류입니다.

이 오류를 해결하려면 아래 파일을 삭제한 후 pip 설치 명령을 다시 실행하면 됩니다.

$ sudo rm -rf /usr/lib/python3.x/EXTERNALLY-MANAGED 

또는 배포판의 패키지 관리자 전용 명령을 실행해 Powerline을 설치할 수도 있습니다.

$ sudo apt install powerline [On Debian, Ubuntu and Mint]
$ sudo yum install powerline [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/powerline [On Gentoo Linux]
$ sudo apk add powerline [On Alpine Linux]
$ sudo pacman -S powerline [On Arch Linux]
$ sudo zypper install powerline [On OpenSUSE] 

리눅스에서 Powerline 폰트 설치하기

Powerline은 개발자를 위해 특수 화살표 효과와 기호를 표시하는 특수 글리프(glyph)를 사용합니다. 따라서 시스템에 심볼 폰트 또는 패치된 폰트가 반드시 설치되어 있어야 합니다.

PIP로 Powerline을 설치했다면 최신 버전의 심볼 폰트와 fontconfig 파일을 다음과 같이 설치할 수 있습니다.

$ wget https://github.com/powerline/powerline/raw/develop/font/PowerlineSymbols.otf
$ wget https://github.com/powerline/powerline/raw/develop/font/10-powerline-symbols.conf
$ sudo mv PowerlineSymbols.otf ~/.local/share/fonts/
$ sudo fc-cache -vf ~/.local/share/fonts/
$ sudo mv 10-powerline-symbols.conf ~/.config/fontconfig/conf.d/

패키지 관리자로 Powerline을 설치했다면 다음 명령으로 최신 폰트를 설치할 수 있습니다.

$ sudo apt install fonts-powerline [On Debian, Ubuntu and Mint]
$ sudo yum install powerline-fonts [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/powerline-fonts [On Gentoo Linux]
$ sudo apk add powerline-fonts [On Alpine Linux]
$ sudo pacman -S powerline-fonts [On Arch Linux]
$ sudo zypper install powerline-fonts [On OpenSUSE] 

Powerline으로 Bash 컬러 프롬프트 활성화하기

PIP로 Powerline을 설치한 경우, ~/.bashrc 파일에 아래 줄을 추가하여 bash 셸과 vim 편집기에서 활성화할 수 있습니다.

export TERM="screen-256color" 

기본적으로 bash 셸에서 Powerline을 활성화하려면 ~/.bashrc 파일에 다음 내용을 추가해야 합니다.

먼저 다음 명령으로 설치된 powerline의 위치를 확인합니다.

$ pip show powerline-status
Name: powerline-status
Version: 2.7
Summary: The ultimate statusline/prompt utility.
Home-page: https://github.com/powerline/powerline
Author: Kim Silkebaekken
Author-email: [email protected]
License: MIT
Location: /home/tecmint/.local/lib/python3.11/site-packages

powerline의 실제 위치를 확인했으면 아래 코드에서 해당 경로를 자신의 시스템 환경에 맞게 수정합니다.

powerline-daemon -q
POWERLINE_BASH_CONTINUATION=1
POWERLINE_BASH_SELECT=1
. /home/tecmint/.local/lib/python3.11/site-packages/powerline/bindings/bash/powerline.sh

패키지 관리자로 설치한 경우에는 다음 명령으로 활성화할 수 있습니다.

$ source /usr/share/powerline/bindings/bash/powerline.sh

이제 로그아웃한 뒤 다시 로그인하면 아래와 같은 powerline 상태 표시줄을 볼 수 있습니다.

Powerline: 사용자 지정 상태 표시줄과 프롬프트로 Vim과 셸을 더 강력하게Bash Powerline 상태 표시줄

디렉터리를 변경해 가면서 현재 위치를 나타내는 "브레드크럼(breadcrumb)" 프롬프트의 변화를 살펴보세요.

또한 대기 중인 백그라운드 작업도 확인할 수 있으며, 원격 리눅스 머신에 powerline이 설치되어 있다면 SSH로 접속할 때 프롬프트에 호스트명이 추가되는 것을 볼 수 있습니다.

Powerline으로 Vim 컬러 프롬프트 활성화하기

Vim이 주력 에디터라면 다행히 Vim용 강력한 플러그인도 준비되어 있습니다. 이 플러그인을 활성화하려면 ~/.vimrc 파일에 다음 줄을 추가합니다.

python3 from powerline.vim import setup as powerline_setup
python3 powerline_setup()
python3 del powerline_setup
set laststatus=2

이제 Vim을 실행하면 멋진 새 상태 표시줄을 만나볼 수 있습니다.

Powerline: 사용자 지정 상태 표시줄과 프롬프트로 Vim과 셸을 더 강력하게Vim Powerline 상태 표시줄

마무리

Powerline은 여러 애플리케이션에서 알록달록하고 세련된 상태 표시줄과 프롬프트를 손쉽게 설정할 수 있게 해주는 도구로, 코딩 환경에 특히 유용합니다. 이 가이드가 도움이 되었기를 바라며, 도움이 필요하거나 추가하고 싶은 아이디어가 있다면 댓글로 남겨주세요.