Vim ส่วนใหญ่เป็นโปรแกรมแก้ไขข้อความที่ควบคุมด้วยแป้นพิมพ์ คุณต้องกดปุ่มเพื่อเลื่อนดูไฟล์แทนที่จะใช้ล้อเลื่อนเมาส์ที่หรูหรา (แม้ว่าจะสามารถใช้เมาส์ได้เช่นกัน) เพื่อให้การเลื่อน Vim ง่ายขึ้น ในคู่มือนี้ ฉันจะสำรวจวิธีการเลื่อนหน้าขึ้นและลงใน Vim โดยใช้วิธีต่างๆ
บันทึก : คำแนะนำที่กล่าวถึงในคู่มือนี้ดำเนินการบน Linux (Ubuntu 22.04) เนื่องจาก Vim เป็นแพลตฟอร์มข้ามแพลตฟอร์ม การผูกคีย์ที่กล่าวถึงในบทช่วยสอนนี้จึงใช้ได้กับระบบปฏิบัติการทั้งหมด
ขนาดหน้าเป็นกลุ่ม
ใน Vim ขนาดหน้าจะเท่ากับจำนวนบรรทัดที่มองเห็นได้ในหน้าต่างปัจจุบันของเทอร์มินัล การปรับขนาดหน้าต่างเทอร์มินัลจะเปลี่ยนขนาดหน้าด้วย
เลื่อนหน้าขึ้นและลง
เปิดใช้งานโหมด NORMAL และใช้คำสั่งต่อไปนี้เพื่อเลื่อนหน้าขึ้นและลงใน Vim
- Ctrl+F: การเลื่อนหน้าลงทีละหน้า
- Ctrl+ข: เลื่อนหน้าขึ้น (หลัง) ทีละหน้า
- Ctrl+d: เลื่อนหน้าลงครึ่งหน้า
- Ctrl+คุณ: เลื่อนขึ้นครึ่งหน้า
เมื่อกด Ctrl+F หน้าจะเลื่อนเคอร์เซอร์ไปที่บรรทัดสุดท้าย-1 ตัวอย่างเช่น ในไฟล์ต่อไปนี้ บรรทัดที่มองเห็นบนเพจปัจจุบันคือ 20 เคอร์เซอร์อยู่ที่บรรทัด 1 หลังจากกดปุ่ม Ctrl+F บรรทัดที่ 1 ถึง 18 จะถูกแทนที่ด้วยบรรทัดที่ 19 ถึง 37 ในบัฟเฟอร์ปัจจุบัน และอื่นๆ
เช่นเดียวกับในกรณีที่เลื่อนหน้าลง (ctrl+ข) แต่ไปในทิศทางตรงกันข้าม
คำสั่งที่กล่าวมาข้างต้นค่อนข้างแข็งและอาจไม่ให้ประสบการณ์การเลื่อนที่ราบรื่นแก่คุณ ฉันชอบใช้คำสั่งในตัวอื่นๆ
- ควบคุมและ: เพื่อเลื่อนหน้าจอขึ้นหนึ่งบรรทัด
- กด Ctrl อี: เพื่อเลื่อนหน้าจอลงหนึ่งบรรทัด
ดังที่คุณเห็นใน GIF ต่อไปนี้ การเลื่อนจะง่ายกว่ามาก
ปุ่มลัดอื่น ๆ เพื่อเลื่อนดูหน้าใน Vim มีดังต่อไปนี้
- ซซ : เพื่อนำเส้นใต้เคอร์เซอร์มาไว้ตรงกลาง
- zt : เพื่อนำเส้นใต้เคอร์เซอร์ไปไว้ด้านบน
- ซบ : เพื่อนำเส้นใต้เคอร์เซอร์ไปไว้ด้านล่าง
การใช้ปุ่มนำทางเป็นกลุ่มเพื่อเลื่อนหน้าขึ้นและลง
Vim มีการผูกคีย์ในตัว h, j, k และ l ซึ่งสามารถใช้ในการเลื่อนหน้าได้ ปุ่ม j และ k ใช้สำหรับการเลื่อนแนวตั้ง
- เจ : เพื่อเลื่อนเคอร์เซอร์ขึ้นหนึ่งบรรทัด
- เค : เพื่อเลื่อนเคอร์เซอร์ลงหนึ่งบรรทัด
เลื่อนหน้าขึ้นและลงโดยใช้เครื่องหมาย
การนำทางเพจยังสามารถทำได้โดยใช้ฟังก์ชันบุ๊กมาร์กในตัวของ Vim กำหนดเครื่องหมายที่ตำแหน่งใดก็ได้ในไฟล์โดยใช้คำสั่ง m ตามด้วยอักขระ {a-z} คุณสามารถกำหนด 26 เครื่องหมายในไฟล์โดยใช้อักษรตัวพิมพ์เล็ก
ใช้วงเล็บเหลี่ยม ([) พร้อมด้วยเครื่องหมายย้อนกลับ (`) เพื่อนำทางเครื่องหมายขึ้นและลง ส่งผลให้เกิดการนำทางในหน้า ตัวอย่างเช่น ใช้ ]` เพื่อข้ามไปยังเครื่องหมายถัดไป และใช้ [` ไปยังเครื่องหมายก่อนหน้า
เลื่อนหน้าขึ้นและลงพร้อมกันในหลาย Windows
นักพัฒนาหลายคนชอบใช้เค้าโครงแบบหลายหน้าต่างใน Vim ในหลาย ๆ สถานการณ์ เป็นที่พึงปรารถนาว่าทั้งสองหน้าต่างจะต้องเลื่อนพร้อมกัน ฟังก์ชั่นนี้สามารถทำได้โดยใช้ scrollbind สั่งการ.
เปิด Vim ในโหมดหลายหน้าต่าง และใช้คำสั่ง :set scrollbind ในหน้าต่างปัจจุบัน
:set scrollbindตอนนี้กด Ctrl+W เพื่อสลับไปที่หน้าต่างถัดไปและใช้คำสั่งดังกล่าวอีกครั้ง
GIF แบบเคลื่อนไหวต่อไปนี้แสดงให้เห็นว่าการเคลื่อนไหวของหน้าเกิดขึ้นพร้อมกัน
หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการรวมการเลื่อน ให้ใช้ :help scrollbind สั่งการ.
ย้ายไปยังตำแหน่งอื่นบนเพจ
หากต้องการย้ายเคอร์เซอร์ไปยังตำแหน่งต่างๆ บนเพจหรือหน้าต่าง ให้ใช้คีย์ต่อไปนี้:
- กะ+ชม : ไปที่ด้านบนของหน้า
- กะ+ม : ไปตรงกลางหน้า
- กะ+ล : ไปท้ายหน้า
วิธีเลื่อนหน้าขึ้น/ลงใน Vim โดยไม่ต้องเลื่อนเคอร์เซอร์
เนื่องจากโครงสร้างการพัฒนาของ Vim จึงไม่สามารถเลื่อนหน้าขึ้นหรือลงโดยไม่เลื่อนเคอร์เซอร์ได้ อย่างไรก็ตามปุ่มลัดเช่น ซซ , zt , และ ซบ สามารถใช้เพื่อย้ายหน้าต่างที่สัมพันธ์กับเคอร์เซอร์
บทสรุป
Vim มีปุ่มลัดต่างๆ เพื่อนำทางเพจ หากต้องการเลื่อนหน้าขึ้นและลง Vim มีปุ่มเริ่มต้นคือ Ctrl+F และ Ctrl+ข . อย่างไรก็ตาม ในหลายสถานการณ์ ปุ่มเหล่านี้ไม่ได้ให้การดำเนินการที่ต้องการ เช่น การเลื่อนไปยังตำแหน่งเฉพาะหลังจากเลื่อนหน้าขึ้นหรือเลื่อนหน้าลง ในกรณีดังกล่าว Ctrl+Y และ Ctrl+E มีการใช้ปุ่มซึ่งเลื่อนหน้าทีละบรรทัด