Powerline เป็นปลั๊กอิน statusline ยอดเยี่ยมสำหรับ Vim editor ซึ่งพัฒนาใน Python และให้ statuslines และ prompts สำหรับแอปพลิเคชันอื่นๆ มากมาย เช่น bash, zsh, tmux และอื่นๆ
คุณสมบัติ
- เขียนใน Python ทำให้ขยายได้และมีฟีเจอร์มาก
- Code base ที่มั่นคงและทดสอบได้ ทำงานดีกับ Python 2.6+ และ Python 3
- รองรับ prompts และ statuslines ในหลายยูทิลิตี้และเครื่องมือ Linux
- มีการตั้งค่าและสี decorator ที่พัฒนาด้วย JSON
- รวดเร็วและเบา พร้อม daemon support ให้ประสิทธิภาพดีขึ้น
Powerline Screenshots
ในบทความนี้ ผมจะแสดงวิธีติดตั้ง Powerline และ Powerline fonts และวิธีใช้กับ Bash และ Vim ภายใต้ระบบ RedHat และ Debian based
ขั้นตอนที่ 1: ติดตั้งข้อกำหนดทั่วไปสำหรับ Powerline
เนื่องจากข้อขัดแย้งการตั้งชื่อกับโปรเจกต์อื่นที่ไม่เกี่ยวข้อง โปรแกรม powerline พร้อมใช้งานบน PyPI (Python Package Index) ภายใต้ชื่อแพ็กเกจ powerline-status
เพื่อติดตั้งแพ็กเกจจาก PyPI เราต้องการ 'pip' (package management tool สำหรับติดตั้งแพ็กเกจ Python) ดังนั้น ให้ติดตั้งเครื่องมือ pip ภายใต้ระบบ Linux ของเราก่อน
ติดตั้ง Pip บน Debian, Ubuntu และ Linux Mint
# 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 https://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) ...
ติดตั้ง Pip บน CentOS, RHEL และ Fedora
ภายใต้ระบบ Fedora-based คุณต้องเปิดใช้งาน epel-repository ก่อน แล้วค่อยติดตั้งแพ็กเกจ pip ตามที่แสดง
# yum install python-pip # dnf install python-pip [ใน 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!
ขั้นตอนที่ 2: ติดตั้ง Powerline Tool ใน Linux
ตอนนี้ถึงเวลาติดตั้ง Powerline เวอร์ชันพัฒนาล่าสุดจากที่เก็บ Git สำหรับนี้ ระบบของคุณต้องมีแพ็กเกจ git ติดตั้งเพื่อดึงแพ็กเกจจาก Git
# apt-get install git # yum install git # dnf install git
ต่อไป คุณสามารถติดตั้ง Powerline ด้วยความช่วยเหลือของคำสั่ง pip ดังนี้
# 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...
ขั้นตอนที่ 3: ติดตั้ง Powerline Fonts ใน Linux
Powerline ใช้ glyphs พิเศษเพื่อแสดงเอฟเฟกต์ลูกศรพิเศษและสัญลักษณ์สำหรับนักพัฒนา สำหรับนี้ คุณต้องมี symbol font หรือ patched font ติดตั้งในระบบของคุณ
ดาวน์โหลดเวอร์ชันล่าสุดของ symbol font และไฟล์การตั้งค่า fontconfig โดยใช้คำสั่ง 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/
ต่อไป คุณต้องอัปเดต font cache ของระบบดังนี้
# fc-cache -vf /usr/share/fonts/
ตอนนี้ติดตั้งไฟล์ fontconfig
# mv 10-powerline-symbols.conf /etc/fonts/conf.d/
หมายเหตุ: หาก custom symbols ไม่ปรากฏ ให้ลองปิดเซสชันเทอร์มินัลทั้งหมดและ restart X window เพื่อให้การเปลี่ยนแปลงมีผล
ขั้นตอนที่ 4: ตั้งค่า Powerline สำหรับ Bash Shell และ Vim Statuslines
ในส่วนนี้ เราจะดูการตั้งค่า Powerline สำหรับ bash shell และ vim editor ก่อนอื่น ทำให้เทอร์มินัลของคุณรองรับ 256color โดยเพิ่มบรรทัดต่อไปนี้ในไฟล์ ~/.bashrc
export TERM="screen-256color"
เปิดใช้งาน Powerline บน Bash Shell
เพื่อเปิดใช้งาน Powerline ใน bash shell โดยค่าเริ่มต้น คุณต้องเพิ่มโค้ดสนิปเพทต่อไปนี้ในไฟล์ ~/.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 แล้ว ตรวจสอบให้แน่ใจว่าแทนที่ตำแหน่งในบรรทัดด้านล่างตามระบบของคุณ
powerline-daemon -q POWERLINE_BASH_CONTINUATION=1 POWERLINE_BASH_SELECT=1 . /usr/local/lib/python2.7/dist-packages/powerline/bindings/bash/powerline.sh
ตอนนี้ลอง logout และ login ใหม่ คุณจะเห็น powerline statusline ตามที่แสดงด้านล่าง
ลองเปลี่ยนหรือสลับไปไดเรกทอรีต่างๆ และสังเกต " breadcrumb" prompt เปลี่ยนไปแสดงตำแหน่งปัจจุบันของคุณ
คุณยังจะเห็น background jobs ที่ค้างอยู่ และถ้า powerline ติดตั้งบนเครื่อง Linux ระยะไกล คุณจะสังเกตว่า prompt เพิ่ม hostname เมื่อเชื่อมต่อผ่าน SSH
เปิดใช้งาน Powerline สำหรับ Vim
ถ้า vim เป็นโปรแกรมแก้ไขโปรดของคุณ โชคดีที่มีปลั๊กอินทรงพลังสำหรับ vim ด้วย เพื่อเปิดใช้งานปลั๊กอินนี้ ให้เพิ่มบรรทัดเหล่านี้ใน ~/.vimrc
set rtp+=/usr/local/lib/python2.7/dist-packages/powerline/bindings/vim/ set laststatus=2 set t_Co=256
ตอนนี้คุณสามารถเปิด vim และเห็น status line ใหม่ที่สลิค:
สรุป
Powerline ช่วยตั้งค่า statuslines และ prompts ที่สีสันและสวยงามในแอปพลิเคชันหลายตัว เหมาะสำหรับสภาพแวดล้อมการเขียนโค้ด หวังว่าคุณจะพบว่าคู่มือนี้มีประโยชน์ และจำไว้โพสต์ความคิดเห็นถ้าคุณต้องการความช่วยเหลือหรือมีไอเดียเพิ่มเติม