< Nick Untitled

#38 - ปรับแต่งหน้าจอ vim ให้ดูดีด้วยปลั้กอิน vim-airline

vim ย่อมาจาก VI Improved ที่เป็นโปรแกรมแก้ไขข้อความที่คลาสสิคที่เป็นโปรแกรมแบบ Command Line ที่ได้รับความนิยมอย่างมากสำหรับโปรแกรมเมอร์ ผู้ดูแลระบบ และอื่น ๆ อย่างไรก็ตามตัวโปรแกรมเองมันดูทื่อไปหน่อย ไม่ค่อยดึงดูดผู้ใช้งานเท่าไร ดังนั้นเรามาลงปลั้กอินตัวหนึ่งที่มีชื่อว่า vim-airline

vim-airline

vim-airline เป็นปลั้กอินหนึ่งในโปรแกรม vim ที่ปรับแต่งแถบ Status bar ให้แสดงรายละเอียดมากขึ้น แถมยังมีสีสันที่สวยงาม โดยตัวปลั้กอินนี้มีข้อดี ได้แก่

  • เป็นปลั้กอินที่มีขนาดเล็ก โหลดได้เร็ว
  • รองรับการทำงานร่วมกับปลั้กอินอื่นเป็นจำนวนมาก
  • ทำให้หน้าจอ vim ดูดีได้โดยไม่ต้องติดตั้งฟอนต์อื่น ๆ เพิ่มเติมและรองรับธีมได้หลากหลาย โดยแสดงตัวอย่างตามภาพด้านล่างนี้

หน้าจอ vim ที่ลงปลั้กอิน vim-airline

จากภาพหน้าจอด้านบนนี้ เราสามารถอธิบายหน้าจอของ vim-airline ได้ตามแผนภาพ โดยส่วน A,B,C,X และอื่น ๆ ได้แสดงรายละเอียดไว้แล้วตามตาราง

โครงสร้างของ vim-airline

ส่วน รายละเอียด (ตัวอย่าง)
A แสดงโหมดการทำงานของ vim (INSERT)
B แสดงรายละเอียดของ Environment (ข้อมูลของ Version Control System ได้แก่ branch, hunk summary (master) รวมถึงแสดงระดับ battery level กรณีที่ใช้ปลั้กอิน vim-battery)
C ชื่อไฟล์ และแสดงรายละเอียดว่าเป็น read-only หรือไม่ (~/.vim/vimrc RO)
X ชนิดไฟล์ (vim)
Y ข้อมูล encoding (utf-8[unix])
Z แสดงตำแหน่งปัจจุบันในไฟล์นั้น
[…] รายละเอียดอื่นเพิ่มเติม (warning/errors/statistics) จากปลั้กอินอื่น ๆ (e.g. YCM, syntastic, …)

โดยข้อมูลในส่วน Z ที่แสดงรายละเอียดตำแหน่งปัจจุบันในไฟล์นั้น จะแสดงในลักษณะนี้ที่เป็น 10% ☰ 10/100 ln : 20 โดย

  • 10% คือ 10% จากตำแหน่งด้านบนสุดของไฟล์
  • ☰ 10 คือบรรทัดปัจจุบันที่ใช้งานอยู่ โดยในตัวอย่างเราจะอยู่ที่บรรทัดที่ 10
  • /100 ln คือจำนวนบรรทัดทั้งหมดในไฟล์ที่มีทั้งหมด 100 บรรทัด
  • : 20 คือตำแหน่งคอลัมภ์ปัจจุบันที่อยู่คอลัมภ์ที่ 20

เมื่อทราบรายละเอียดแล้ว เรามาติดตั้ง vim-airline กันเถอะ

การติดตั้ง

การติดตั้งปลั้กอิน vim-airline นั้น จำเป็นต้องทำผ่านเครื่องมือจัดการปลั้กอิน (Plugin Manager) เสียก่อน โดยในบทความนี้เราจะใช้เครื่องมือที่มีชื่อว่า vim-plug

vim-plug เป็นเครื่องมือจัดการปลั้กอินที่มีความมินิมอล ทำงานได้เร็ว แถมยังมีฟิเจอร์ที่หลากหลายสำหรับใช้งานร่วมกันกับ vim และ Neovim ที่ทำให้การติดตั้ง การอัพเดท และจัดการปลั้กอินเป็นไปได้โดยง่าย โดยเราสามารถติดตั้งเครื่องมือนี้ได้โดยการพิมพ์คำสั่งตามด้านล่างนี้ใน Linux/UNIX

curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
    https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

จากนั้นกด Enter เพื่อติดตั้ง

ส่วนของ Windows และระบบปฏิบัติการอื่นสามารถอ่านได้ใน Github

เมื่อติดตั้ง vim-plug เสร็จแล้ว การติดตั้งปลั้กอินของ vim เพิ่มเติมทำได้ไม่ยากนัก เพียงแค่เข้าไปแก้ไขไฟล์ ~/.vimrc โดยเพิ่มตามด้านล่างนี้

  1. เริ่มต้นส่วนที่เป็นการติดตั้งปลั้กอินโดยพิมพ์ call plug#begin()
  2. ใส่ชื่อปลั้กอินที่ต้องการติดตั้งโดยพิมพ์ Plug 'ชื่อปลั้กอินที่ต้องการติดตั้ง'
  3. จบส่วนการติดตั้งปลั้กอินโดยพิมพ์ call plug#end()

โดยตัวอย่างแสดงตามด้านล่างนี้

call plug#begin()
Plug 'ใส่ชื่อปลั้กอินที่ต้องการติดตั้ง'
call plug#end()

เมื่อพิมพ์เสร็จแล้วให้เราบันทึกไฟล์ ร่วมกับปิดแล้วเปิด vim ใหม่ จากนั้นเราสามารถพิมพ์คำสั่งใน vim ได้ตามด้านล่างนี้

  • :PlugInstall เป็นการติดตั้งปลั้กอิน
  • :PlugUpdate เป็นการติดตั้งหรืออัพเดทปลั้กอิน
  • :PlugDiff เป็นการรีวิวความเปลี่ยนแปลงของตัวอัพเดทรุ่นล่าสุด
  • :PlugClean เป็นการลบปลั้กอินที่ไม่ได้อยู่ใน call plug#begin() และ call plug#end()

เมื่อทราบรายละเอียดของการติดตั้งและใช้งาน vim-plug แล้ว ต่อมาเราจะมาติดตั้งปลั้กอินอย่าง vim-airline ที่ติดตั้งได้ง่าย เพียงแค่แก้ไขไฟล์ ~/.vimrc ให้เป็นไปตามด้านล่างนี้

call plug#begin()
Plug 'vim-airline/vim-airline'
call plug#end()

จากนั้นบันทึกไฟล์ แล้วปิดและเปิด vim ใหม่ จากนั้นพิมพ์คำสั่ง :PlugInstall แค่นี้ตัว vim จะติดตั้งปลั้กอินเพิ่มลงไป จากนั้นเราก็สามารถใช้งานได้แล้ว (แต่ถ้าใครไม่เห็นความเปลี่ยนแปลง จุดนี้ทำได้ง่ายเพียงแค่เปิดแล้วเปิดใหม่) โดยตัวอย่างแสดงตามด้านล่างนี้

หน้าจอ vim ที่ลงปลั้กอิน vim-airline


Kittisak Chotikkakamthorn

จบทั้งแพทย์ + วิศวะร่วมกับผ่านการฝึกงานทางด้าน AI ที่มหาวิทยาลัยที่ไต้หวันที่พัฒนาเทคนิค Machine Learning ที่เป็น state-of-the-art (SOTA) สำหรบัการแก้ปัญหาทางการแพทย์ ปัจจุบันเขียนบล็อกโดยสนใจเกี่ยวกับทางด้าน Coding, AI, Data รวมถึงเขียนเป็นไดอารี่เป็นหลัก

ผู้อ่านสามารถส่งอีเมลมาทาง contact[at]nickuntitled.com

↑ Go to top


© 2025 Nick Untitled is licensed under CC BY 4.0 / Privacy Policy