มาลองแชร์ vim plugin กันหน่อยมั้ย?

Hello world!

คือเราเชื่อว่าหลายๆ คน ส่วนมากอาจจะเคยได้ยินชื่อ แต่ไม่เคยจะได้ใช้มัน

หลายๆ คนได้ยินชื่อแล้วต้องอ๋อแน่ๆ คือต้องเคยได้ยินมาจากที่ไหนซักที่

แต่ไม่รู้จริงๆ ว่ามันคืออะไร ใช้งานยังไง ดียังไง?

แต่วันนี้เราคงไม่ได้พูดถึงข้อดีอะไรของมันมากนักนะ

เอาคร่าวๆ ก็คือ ไอ้ Text editor ที่จะพูดถึงก็คือ “Vim” ซึ่งก็คือตัว “Vi” ที่ถูกอัพเวลมาแล้ว

จริงๆ แล้วใครใช้ Mac หรือ Linux ก็อาจจะเคยสัมผัสและงงกันมาบ้างล่ะ

คือวิธีใช้งาน vim ก็แค่เปิด terminal หรืออะไรก็ตามที่ใช้งาน command line ได้

แล้วลองพิมพ์ $ vim  ตึ่งงงงง..!! ก็จะ surprise ทันที โอ้โหหหหห หน้าตามันเป็นอะไรประมาณนี้

ซึ่งถ้าขึ้นมาหน้าตาประมาณนี้ ก็ถือว่าบนเครื่องเรามี vim ให้ใช้กันอยู่แล้ว ไม่ต้องลงเพิ่ม

วิธีการใช้งาน vim ก็จะใช้ Keyboard ของเราเป็นหลัก

เช่น เลื่อน cursor ไปทางซ้ายก็ให้กด “h” หรือการเลื่อน cursor ไปทางขวาเป็นคำ ก็กด “w” เป็นต้น

ข้อดีก็คือเราไม่ต้องเสียเวลาเอื้อมมือไปจับเม้าส์ แล้วมาลาก มาคลิก อะไรประมาณนั้น

ข้อนี้ดีมากสำหรับตัวสล็อธ ถ้าสล็อธใช้ vim น่าจะทำงานเร็วขึ้นนะ

สล็อธยังดีใจ!

ถ้าจำ key ต่างๆ จนคล่องแล้วเนี่ย ก็จะทำงานได้อย่าง productive มากขึ้น

แต่เราจะไม่มาบลัฟกันนะจ๊ะหนูๆ ว่าใครดีกว่าใคร เจ้านี้ เจ้านั้นดีกว่า

เอาเป็นว่าใครใคร่ใช้อะไรก็ใช้ไปเถิดนะจ๊ะ ถ้าใช้แล้วสบายใจก็ใช้นะจ๊ะ

แต่ถ้าอยากจะลองเรียนรู้ vim เอาไว้เป็นวิชาติดตัวก็ไม่เสียหายอะไรเนอะ 😀

คือบล็อคนี้คงไม่ได้สอนการใช้งาน vim ซักเท่าไหร่

แต่จะมาแชร์ว่าตอนนี้ใช้ปลั๊คอินอะไรอยู่บ้าง มันทำให้ชีวิตเราดีขึ้นไปอีก

เอาล่ะมาเริ่มที่ปลั๊คอินตัวแรก

.

NERD Tree –  A tree explorer plugin for vim.

เป็นปลั๊คอินที่จะทำให้เรามอง directory และ file ต่างๆ เป็นแบบ Tree ก็คือต้นไม้นั่นเอง

ซึ่งเราก็สามารถ lookup ดูภายใน folder นั่นนี่โน่นได้ว่ามี file หรือ folder อะไรอยู่อีกบ้าง

แถมยังสามารถเข้าไปแก้ไข file โน่นนี่นั่นได้เลยจาก NERD Tree

วิธีการใช้งานก็ง่ายๆ โดยการใช้คีย์บอร์ดของเราอีกนั่นแหละ

การจะเปิด Nerd tree ครั้งแรก ก็ทำได้โดยการพิมพ์ $ vim ธรรมดาๆ นี่แหละ

แล้วใช้คีย์ ขึ้น, ลง, j หรือ k ก็ได้ เพื่อเลื่อน cursor ไปที่ file หรือ folder ที่ที่ใจเราต้องการ (หัวเราะสิคะ!!)

โอเค ถ้าได้ file หรือ folder ที่ถูกใจแล้ว ก็แค่พูดว่า..

..”ข้าขอสาบานอย่างจริงจังว่าข้านั้นหาความดีมิได้” แล้วกด Enter เท่านั้นเอง

ความลับทุกอย่างก็จะเปิดเผย..​ แฮร่!

ส่วนวิธีปิด Nerd tree ไปแบบชั่วคราวก็กด ctrl+n ถ้าอยากเปิดมาใหม่ ก็ใช้ ctrl+n เหมือนเดิม

คิดว่าปลั๊คอินนี้น่าจะเป็นปลั๊คอินที่จำเป็นปลั๊คอินหนึ่งเลย คือมันช่วยให้เราเข้าถึงไฟล์ได้ง่ายขึ้น

อยากเปิดดูไฟล์ไหน โฟลเดอร์ไหนก็ทำได้ง่ายขึ้น เร็วขึ้น

ลิงค์ https://github.com/scrooloose/nerdtree

.

Ctrl-P – Fuzzy file, buffer, mru, tag, etc finder.

Ctrl-P Example

เป็นปลั๊คอินที่ช่วยให้เราเปิดไฟล์ได้ง่ายๆ อีกเช่นกัน

แต่วิธีการใช้งานคือพิมพ์ $ vim ที่ Terminal ของเราอีกเช่นเคย

แล้วก็กด ctrl+p เหมือนกับชื่อของปลั๊คอินเลย

แล้วก็สามารถ search ไฟล์ โดยพิมพ์ตัวอักษรที่มีอยู่ในชื่อของโฟลเดอร์ หรือไฟล์

แล้วก็เลือกไฟล์ที่ต้องการได้เลย ใช้คีย์บอร์ดของเราอีกเหมือนกัน ขึ้นๆ ลงๆ กันไป แล้วก็ enter

จริงๆ การ search file ของ ctrl-p นี่มีหลายโหมดมากๆ เช่น search แบบ RegEx ก็มี

แต่ส่วนใหญ่เราก็จะพิมพ์แบบธรรมดานี่แหละ ง่ายที่สุดแล้ว

ลิงค์ https://github.com/kien/ctrlp.vim

.

.

ALE – Asynchronous Lint Engine

อย่าถามว่าอ่านว่าอะไร.. ไม่รู้!! ใครรู้ช่วยบอกหนูด้วย

ปฏิเสธไม่ได้ว่าการเขียนโค้ดสมัยนี้เนี่ย

เขียนกันแบบเป็นทีม จำเป็นต้องมี convention ที่ทำให้การเขียนโค้ดไปในทางเดียวกัน

เช่น เรากำลังเขียน ES6 เราก็จะตกลงกับเพื่อนๆ ว่า เราจะไม่ใส่ semi-colon นะ

หรือเราเขียน python เราจะตกลงกับเพื่อนว่าเราจะให้ แต่ละ class ห่างกัน 2 บรรทัด

ระหว่าง method ห่างกัน 1 บรรทัด เป็นต้น ซึ่งบางครั้งเขียนๆ ไป มันก็มีลืมกันบ้าง

ยิ่งถ้าต้องทำโปรเจค แบบที่ต้องเขียนหลายๆ ภาษาแล้ว

สิ่งที่จำเป็นเลย คือเราต้องมี Lint  

สำหรับคนที่ใช้ IDE อยู่แล้ว ก็คงจะไม่ได้มีปัญหาอะไร เพราะส่วนใหญ่ IDE จะมี lint ให้อยู่แล้ว

แต่สำหรับคนใช้ vim ก็ไม่ใช่ว่าจะไม่มีหนทางอะไรที่ทำให้ vim เราเมพขึ้นเลย

สำหรับเข้า ALE ตัวนี้ ก็จะทำให้ vim แสดง error หรือ warning แบบแทบจะ realtime

เอาล่ะ ถ้าใครพร้อมแล้ว ก็ check version vim ของเราซะก่อน

เพราะ ALE นั้นต้องการความสามารถของ vim 8 ซึ่งมี jobs และ timers

ช่วยให้ ALE โชว์ Error/Warning ได้แบบ asynchronous

ถ้า vim ของเรายังไม่เป็น version 8 ก็ทำการอัพเกรดกันได้เลย

แต่การอัพเกรด vim ที่อยู่บน os ให้เป็น vim 8 นั้น ไม่ได้ทำได้ง่ายๆ แบบเบๆ ทั่วๆ ไปนะ

คือเราก็ search นะว่าวิธีอัพ vim เนี่ยมันทำยังไง?

คือ vim ที่เราใช้อยู่ทุกวันนี้ เราก็ไม่ได้ลงเองไง คือมันแถมมาให้เลย

เพราะฉะนั้นการจะมาใช้  brew upgrade vim แล้วมันอาจจะทำไม่ได้

แต่อาจจะต้อง install ไปใหม่แทน โดยการใช้

brew install vim --override-system-vim

แต่ถ้าไม่เวิร์ค ก็ต้องลองวิธีถัดไป ซึ่งแน่นอนคือ ของเราไม่เวิร์ค

ก็เลย search หาต่อไปว่ามีวิธีอะไรยังไงให้เราใช้ vim 8 ได้มั้ย

ก็ไปเจอคนถามเหมือนกัน เค้าบอกว่า

..”เหยแกรรร๊.. คือแกไม่ควรจะอัพทับ vim ของ os เลยนะ

..คือแกควรจะโหลด vim 8 เอาไปไว้ที่ไหนก็ได้ก่อน..

“แล้วค่อยสร้าง alias vim ให้มี path ไปที่ vim 8 แล้วค่อยเรียกใช้แบบปกติ..”

ลองแบบนี้แล้วเวิร์คงะ .. เย!

ลิงค์ https://github.com/w0rp/ale

.

.

3 ปลั๊คอินนี้ น่าจะเป็นตัวหลักๆ ที่เราใช้ตอนนี้แล้วล่ะ

ส่วนใครมีปลั๊คอินตัวไหนดีๆ ก็มาแบ่งกันใช้บ้างนะ

บอกเลยว่าบล็อคนี้ใช้เวลาเขียนนานมาก

น่าจะนานตอนทำรูปซะเป็นส่วนใหญ่

มีความพยายามในการวาดสล็อธมากๆ โดยที่ไม่เกี่ยวอะไรกับ content เล๊ยย

จบแล้ว

บรัย.

 

ปล. มีคนคอมเม้นต์มาบอกว่า ..”สอนเข้า vim แล้วอย่าลืมสอนออก vim ด้วยนะครัช”

ฮ่าๆๆ โอเค คือเข้า vim ทำได้โดยการพิมพ์ว่า vim ที่ terminal ใช่มะ?

แต่ทีนี้เวลาออก ทำได้โดยการกด escape เพื่อให้เราเข้าสู่ normal mode

แล้วกด : (colon) เพื่อเข้าสู่ command line mode ตามด้วย q (ซึ่งก็คือ quit) นั่นเอง

ส่วนวิธีการใช้อื่นๆ คีย์อื่นๆ เข้าไปดูกันได้ที่ https://vim.rtorr.com/

Advertisements

2 thoughts on “มาลองแชร์ vim plugin กันหน่อยมั้ย?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s