ฉันจะจัดบรรทัดปัจจุบันให้อยู่กึ่งกลางหน้าจอได้อย่างไร


23

มีวิธีการจัดกึ่งกลางบรรทัดที่ฉันแก้ไขในหน้าจอหรือไม่? บางครั้งจำเป็นต้องมีเพื่อดูบริบทอีกเล็กน้อยด้านบนและด้านล่างบรรทัดปัจจุบัน

คำตอบ:


28

z.และzzคำสั่งจะ recenter บรรทัดเคอร์เซอร์อยู่บน z.ยังเลื่อนเคอร์เซอร์ไปที่อักขระที่ไม่ใช่ช่องว่างตัวแรกในบรรทัดในขณะที่zzเก็บเคอร์เซอร์ไว้ที่ตำแหน่งนั้น

มีคำสั่งที่คล้ายกันสำหรับด้านบน ( z<CR>/ zt) และล่าง ( z-/ zb) ของหน้าต่าง

เวอร์ชันของคำสั่งเหล่านี้ที่ลงท้ายด้วยตัวอักษรให้คอลัมน์เคอร์เซอร์ในขณะที่คนที่ลงท้ายด้วยเครื่องหมายวรรคตอนเลื่อนเคอร์เซอร์


6

พิมพ์zzเพื่อจัดกึ่งกลางบรรทัดปัจจุบันในหน้าจอ:

ป้อนคำอธิบายรูปภาพที่นี่


ที่สมบูรณ์แบบ! ฉันเพิ่มสิ่งนี้ลงใน autocmd ของฉัน BufReadPost ดังนั้นฉันจึงดำเนินการแก้ไขต่อด้วยเส้นเคอร์เซอร์ที่เรียกคืนและอยู่กึ่งกลางหน้าจอ:au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | "normal! g'\"zz"
John P

โหวตขึ้นสำหรับภาพเคลื่อนไหว :-)

2

ใช่ในโหมดปกติคุณสามารถใช้งานzzได้ แต่เป็นเอกสารที่เตือนให้ระวังด้วย capslock เพราะZZจะเขียนบัฟเฟอร์ไปยังไฟล์และออก


ไม่ว่าจะด้วยเหตุผลใดก็ตามสิ่งนี้กลายเป็นประเด็นใหญ่ของการโต้เถียงกันในเธรด SO / SE อื่น ... ฉันทามติดูเหมือนว่าคุณควรกด shift ลงไปเรื่อย ๆ ตามความจำเป็นและทำการแมปปุ่มล็อคปุ่มที่ระดับระบบ ไม่มีตัวล็อคแคปอีกต่อไป มิฉะนั้นมันเป็นความผิดของคุณเอง ฉันเดาว่าพวกเขาไม่เคยจัดการกับมาโครตัวประมวลผลล่วงหน้า ...
John P

1

ในโหมดปกติzzจะย้ายบรรทัดที่อยู่ใต้เคอร์เซอร์ไปที่กึ่งกลางของหน้าจอ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.