November 11, 2011

vi: บังคับเคอร์เซอร์ขั้นสูง

ในการจัดการกับข้อความจำนวนมากๆ การใช้ [h] [j] [k] [l] ค่อยๆ เลื่อนดูเอกสารอาจไม่ใช่ทางที่ดีที่สุด เราสามารถสั่งให้เลื่อนไปเป็นคำๆ ได้โดยปุ่ม [w], [W] ดังนี้

และสำหรับปุ่ม [e], [E]

สำหรับการเลื่อนย้อนกลับ ทำได้โดยปุ่ม [b], [B] โดยมันจะทำงานในทิศทางตรงข้ามกับปุ่ม [w], [W] และ [g] [e], [g] [E] ในทิศตรงข้ามกับ [e], [E] ตามลำดับ

หมายเหตุว่า ในกรณีที่มีหลายบรรทัด มันจะกระโดดไปยังคำในบรรทัดถัดไปด้วยนะครับ



ปุ่ม [g] เป็น command ประเภทที่ไม่ทำทันที มันต้องการคำสั่งอื่นมาเติมเต็มให้ถูกต้องถึงจะทำงานได้ (ซึ่งจริงๆ เราเคยเจอ command แบบนี้มาแล้ว คือปุ่มตัวเลข [Number] ที่ใช้เป็น prefix ต่างๆ) สำหรับปุ่ม [g] ที่ควรรู้คือ [g] [g] ซึ่งใช้สำหรับกระโดดข้ามไปบรรทัดแรกสุดของไฟล์

ส่วนการกระโดดไปบรรทัดต่างๆ ในไฟล์ สามารถทำได้โดยใช้ปุ่ม [Number] [G] หรือจะใช้ [Number] [%] เพื่อบอกตำแหน่งแบบคร่าวๆ ก็ได้ครับ

สังเกตว่า การกระโดดทั้งหมดนี้ cursor จะโผล่ไปที่ด้านหน้าของบรรทัดเสมอครับ



สำหรับปุ่ม [%] เปล่าๆ จะเป็นการเลื่อน cursor หาคู่ของวงเล็บของตัวถัดไปที่พบครับ



แม้ว่าเราจะสามารถใช้ [w] เพื่อเลื่อน cursor ไปยังคำต่างๆ ภายในบรรทัดได้อย่างรวดเร็ว แต่เรายังมีวิธีที่เร็วกว่าสำหรับการเลื่อนไปยังจุดเริ่ม/จบของบรรทัด คือการใช้ [0], [^] และ [$]

อาจจะจำยากหน่อย แต่ถ้าได้รู้จักกับ regex แล้วจะเข้าใจว่าทำไมครับ ;)



ส่วนการกระโดดไปยังอักษรที่ต้องการทันที ทำได้โดยปุ่ม [f], [F] และ [t], [T] ครับ

การ repeat การค้นหาเดิมซ้ำๆ สามารถทำได้โดยปุ่ม [;] (ไม่ค่อยมีประโยชน์กับ [t], [T] เท่าไหร่ เพราะมันจะหาได้เป็นตัวเดิม)

การหาแบบนี้จะไม่ข้ามไปยังบรรทัดอื่นครับ

No comments:

Post a Comment