[Part 2] Coding on Vim: การลง Plugin บน Vim
โพสเก่าจาก Blog เดิม มิถุนายน 25, 2017
หลังจากที่ผมได้อธิบายไปบทความแรก เกี่ยวกับ vim ไปแล้ว คราวนี้ก่อนจะมาเขียนโปรแกรมกันจริงๆ และบทความนี้ผมก็จะมาสอนลง Plugin ก่อนเพื่อช่วยให้เราเขียนโปรแกรม ได้ง่ายขึ้นและมีฟังก์ชันคล้ายๆ กับพวก IDE มากขึ้น แต่ก็ย้ำไว้ก่อนว่ามันก็ไม่ได้ทำให้การทำงานง่ายขึ้น เพราะถ้ายังกดคีย์ไม่คล่องมันก็จะยากหน่อย
What is plugin?
คือฟังก์ชันที่เข้ามาช่วยให้การใช้ vim ง่ายขึ้น โดยที่เราไม่ต้องพิมพ์เองทั้งหมด เช่น Plugin ของคนทำเว็บที่เราจะรู้จักกันดีคือ Emmet ที่ช่วยทำ Auto complete html, ตัวช่วยเราค้นหาไฟล์, ตัวที่ใช้ทำให้ vim มี Directory Tree ข้างจอ เป็นต้น เพราะปกติแล้ว vim จะเป็นตัว text editor เปล่าๆ ที่ไม่มีอะไรมาเลย นอกจากฟังก์ชันพื้นๆ อย่าง copy, past, save อะไรทำนองนี้
Vim Plugins Manager
จริงๆ แล้วเราสามารถลง Plugin ใน vim ได้เองนะครับ แบบ manual แต่ก็ยุ่งยากหน่อย และเราจะมาทำความรู้จักตัวช่วยลง Plugin ให้เราซึ่งมันจะทำหน้าที่จัดการสร้างโฟรเดอร์ และวาง Plugin ลงไปตำแหน่งที่ถูกต้องเพื่อให้ vim เรียกใช้งานมันได้ และยังช่วยอัพเดทเวอร์ชั่น Pluginให้เราด้วย ซึ่งปัจจุบัน Plugin Manager ดังๆ ก็มีอยู่ เช่น Plug, Vundle, NeoBundle, Pathogen และสำหรับผมเลือกใช้ Plug ซึ่งจะมาสอนใช้กันใน บทความนี้ครับ
How to install Plugins Manager [Github]
เปิด Teminal ขึ้นมาแล้วก็พิมพ์คำสั่งลงไปได้เลย
curl -fLo ~/.local/share/nvim/site/autoload/plug.vim --create-dirs \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
How to use Plug
วิธีการคือเราต้องเอาคำสั่ง Plug ไปแปะที่ไฟล์ config ของ vim ที่ชื่อ .vimrc ส่วนมากจะอยู่ที่ root directory ของเครื่องให้ลองพิมพ์ ls -al เพื่อดูรายชื่อไฟล์ ถ้าใครไม่เจอ .vimrc ไม่เป็นไร ก็ใช้พิมพ์ touch .vimrc เพื่อสร้างไฟล์ใหม่ขึ้นมา
เมื่อได้ไฟล์มาแล้วก็พิมพ์ vim .vimrc เพื่อแก้ไฟล์และใส่คำสั่งลงไปตามรูปด้านล่างเลยครับ
และเมื่อเราอยากจะลง Pluging ก็เอาชื่อมาใส่แบบนี้ครับ
Vimawesome.com
vimawesome คือเว็บที่รวมเอา Plugin ต่างๆ ของ Vim มาให้เราเลือกโหลดได้ตามใจชอบ ใครทำงานแนวไหน ภาษาอะไร หรืออยากได้คำสั่งแบบไหน สามารถค้นหาและติดตั้งได้เลย
Installing Pluging
เมื่อเราเอาชื่อ Plugin ที่จะใช้มาแปะแล้ว ต่อไปยังไม่จบนะครับ เราต้องสั่งมันติดตั้งก่อน โดยเข้า Normal mode จากนั้นพิมพ์ :(colon) แล้วตามด้วย PlugInstall และ Enter และหน้าตาก็เป็นประมาณนี้ เมื่อเสร็จแล้วก็สั่ง :q และ Enter
ผมลองเอารายชื่อ Plugin คร่าวๆ ที่พื้นฐานมาให้ลองไปใช้กันดูนะครับ
call plug#begin()
Plug 'mattn/emmet-vim'
Plug 'pangloss/vim-javascript'
Plug 'isruslan/vim-es6'
Plug 'cakebaker/scss-syntax.vim'
Plug 'hail2u/vim-css3-syntax'
Plug 'scrooloose/nerdtree', { 'on': ['NERDTreeToggle', 'NERDTreeFind'] }
Plug 'airblade/vim-gitgutter'
Plug 'jelera/vim-javascript-syntax'
Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' }
Plug 'junegunn/fzf.vim'
Plug 'nathanaelkane/vim-indent-guides'
Plug 'tpope/vim-commentary'
call plug#end()
จบไปแล้วกับการลง Plugin ไว้บทความต่อไปเราจะมาพูดเรื่องอื่นๆ กันต่อเพื่อเตรียมความพร้อมกับการเขียนโปรแกรมกันครับ ยังไงก็อย่าลืมวีดีโอสาธิตการใช้งานด้านล่างนะครับ
ช่วงนาทีที่ 19.45 ผมพิมพ์ผิดนะครับ มันเลยไม่ทำงานขออภัยด้วย ตอนที่กำลังพิมพ์ html:5 ผมตก :(colon) ไป