[Part 7] Coding on Vim: การค้นหาไฟล์และค้นหาโค้ดใน Vim

สวัสดีครับบทความชุด Coding on Vim ตอนที่ 7 นะครับ สำหรับตอนนี้ผมจะมาแนะนำ Plugin ที่ช่วยให้เราทำการค้นหาไฟล์และโค้ดที่อยู่ในโปรเจคเราได้เหมือนกับการใช้พวก Atom, Sublime เลยเอากด command + p (Mac), ctrl + p (windows) ซึ่งใน vim เองก็ทำได้นะครับ และเป็น plugin ที่แนะนำว่าควรจะต้องลงนะครับ สำหรับใครที่ใช้ vim ในการเขียนโปรแกรมเป็นหลัก เดียวเรามาทำความรู้จักกันเลยครับ

 

การค้นหาไฟล์ด้วย junegunn/fzf.vim [Github]

หน้าตาตอนที่เราเรียกฟังก์ชันการค้นหาไฟล์มันก็จะเป็นประมาณนี้ครับ เราก็พิมพ์สิ่งที่เราอยากได้เท่านั่นเอง เดียวมันก็จะฟิลเตอร์ให้เรา เองครับ สำหรับวิธีการติดตั่งถ้าใครใช้ Plugin แบบที่เคยสอนไปตอนที่ 2 [link] ก็สามารถเอาไปแปะใน vimrc ได้เลยครับ ตาม link นี้เลย และการเรียกใช้งานเราก็พิมพ์แค่ :FZF หรือ :Files เท่านั่นก็จะมีหน้าต่างออกมาแบบด้านบน

 

การค้นหาโค้ดในโปรเจคด้วย junegunn/fzf.vim

ในการค้นหาโค้ดนั่นเราก็ใช้ Plugin เดียวกันครับ เพียงแต่เราจะเรียกฟังก์ชันที่ชื่อ :Ag แทนและเราก็จะได้หน้าตาแบบนี้

เพิ่มเติมนิดนึงอันนี้เหมือน Plugin ตอนนี้เหมือนมี Bug อยู่ พอดีผมเพิ่งอัพเดทแล้วปรากฏว่ามันไม่อ่านไฟล์เข้ามาใน Buffer ให้ไม่รู้ทำไมและตอนนี้ได้รายงาน Bug ให้ไปใน Github แล้วใครที่รออัพเดทไปตามกันได้ที่ลิ้งนี้ครับ link เดียวถ้ามีอัพเดทอะไรผมจะมาเพิ่มให้และแก้ไขในบทความให้นะครับ

อัพเดท: พอดีว่าถ้า contributor เขามาช่วยตอบแล้วว่าทำไมฟังก์ชัน Ag ถึงใช้งานไม่ได้นะครับ ลองเข้าไปอ่านที่ issue [link] แต่ผมลองทำตามแล้วยังไม่ได้เหมือนกันแต่ไว้แก้แล้วยังไงจะเข้ามาอธิบายเพิ่มครับ

อัพเดท: ตอนนี้ผมแก้ได้แล้วคือว่าตัว fzf ที่ติดตั่งไปมันดันไปเรียกติดตั่ง dependency ไม่หมด เพราะงั่นให้ติดตัว ggreer/the_silver_searcher ลงไปหากใครที่ไม่สามารถเรียกฟังก์ชัน Ag ได้ก็จะแก้ปัญหาได้ครับ และใน vimrc ให้ใส่โค้ดส่วนนี้ลงไป link

 

ตั้งค่าคีย์บอร์ดให้ง่ายขึ้น

ปกติแล้วมันพิมพ์ก็จะไม่ถนัดเท่าไร อะไรที่ใช้บ่อยๆ ผมก็เอามามันไปทำเป็นคีย์ให้กดได้ง่ายๆ เช่น :ZFZ|:Files ผมก็ใส่คีย์ให้มันเป็น

map <leader>f :FZF<CR>

และการค้นหา content ผมก็ใส่เป็น

map <leader>a :Ag<CR>

เท่านี้เราก็ไม่ต้องพิมพ์อะไรให้มันยากๆ แล้ว อะที่ใช้บ่อยๆ ก็ใส่คีย์ให้มันสะ และสำหรับ leader คีย์นั่นผมเคยอธิบายไปตอนก่อนหน้านี้แล้วมันคือ \ นั้นเองครับ เวลาใช้งานก็กด \ ไปที่นึงแล้วตามด้วยคีย์ที่เราได้ผูกไว้เท่านี้เองครับ 

จริงๆ แล้ว fzf.vim นั่นมีคำสั่งให้เล่นมากมายครับ สำหรับใครที่อยากรู้อะไรเพิ่มเติมก็ลองเข้าไปอ่านตรงนี้ดูรายชื่อคำสั่ง link และสำหรับบทความนี้ก็คงจบเท่านี้ถ้ามีอะไรดีๆ ผมจะมาอัพเดทให้เรื่อยๆ นะครับ ผมก็ขอจบบทความชุด Coding on Vim ไว้เพียงแค่ 7 ตอนนะครับไว้มีไรมาอัพเดทอีกไหมเดียวผมขอหาข้อมูลเพิ่มเติมและเดียวกับมาพบกันใหม่ ขอบคุณที่ติดตามกันมาตลอดเลยครับ

 

Facebook Comments