วิธีการวางสายปัจจุบันที่ด้านบน / กลาง / ด้านล่างของหน้าจอเป็นกลุ่ม?


118

เคล็ดลับการนำทางที่เร็วขึ้นเพื่อวางบรรทัดที่เคอร์เซอร์อยู่ในขณะนั้นไปยัง

  • ด้านบนของหน้าจอ?
  • ศูนย์กลางของหน้าจอ?
  • ด้านล่างของหน้าจอ?

คำตอบ:


153

z<CR>หรือzt วางบรรทัดปัจจุบันไปที่ด้านบนของหน้าจอ ( <CR>== Enter)

z.หรือzz วางบรรทัดปัจจุบันไปที่กึ่งกลางของหน้าจอ

z-หรือzb วางบรรทัดปัจจุบันไปที่ด้านล่างของหน้าจอ

( z<CR>, z.และz-ทำให้เคอร์เซอร์ในคอลัมน์ที่ไม่ว่างเปล่าครั้งแรก. zt, zzและzbใบเคอร์เซอร์ในคอลัมน์ปัจจุบัน)

ข้อมูลเพิ่มเติมเกี่ยวกับการเลื่อนที่http://vimdoc.sourceforge.net/htmldoc/scroll.html หรือ
ในประเภท vim:help scroll-cursor


14
คุณสามารถใช้zzแทนz.
evilsoup

2
ฉันไม่เคยได้ยินมาz.ก่อน ฉันคิดว่าฉันชอบการกดปุ่มสองปุ่มที่แตกต่างกันแทนที่จะกดสองครั้ง คุณสามารถทำการกดแป้นพิมพ์แบบขนานพร้อมกันตราบใดที่พวกเขาลงในลำดับที่ถูกต้องและเวลาระหว่างการเข้าชมอาจค่อนข้างสั้นทำให้ตัวเลือกนี้รวดเร็วมาก zและ.คีย์มีกระจกของแต่ละอื่น ๆ (อย่างน้อยในของฉัน en-GB แป้นพิมพ์) คุณอาจจะชอบการแตะสองครั้งzและมันก็ดีที่เรามีตัวเลือกทั้งสอง
Drew Noakes

15 ปีที่เป็นกลุ่มและฉันไม่รู้ว่าสิ่งเล็ก ๆ น้อย ๆ ที่มีประโยชน์นี้! Upvote!
PnotNP

14

เอาต์พุตของ:help scroll-cursor@mtk ที่กล่าวถึง โปรดทราบว่ามีความแตกต่างระหว่างและzzz.


การเลื่อนที่สัมพันธ์กับเคอร์เซอร์ (เลื่อนเคอร์เซอร์)

คำสั่งต่อไปนี้จัดตำแหน่งหน้าต่างแก้ไข (ส่วนของบัฟเฟอร์ที่คุณเห็น) ในขณะที่รักษาเคอร์เซอร์ในบรรทัดเดียวกัน:

z<CR>                   Redraw, line [count] at top of window (default
                        cursor line).  Put cursor at first non-blank in the
                        line.

zt                      Like "z<CR>", but leave the cursor in the same
                        column.  {not in Vi}

z{height}<CR>           Redraw, make window {height} lines tall.  This is
                        useful to make the number of lines small when screen
                        updating is very slow.  Cannot make the height more
                        than the physical screen height.

z.                      Redraw, line [count] at center of window (default
                        cursor line).  Put cursor at first non-blank in the
                        line.

zz                      Like "z.", but leave the cursor in the same column.
                        Careful: If caps-lock is on, this command becomes
                        "ZZ": write buffer and exit!  {not in Vi}

z-                      Redraw, line [count] at bottom of window (default
                        cursor line).  Put cursor at first non-blank in the
                        line.

zb                      Like "z-", but leave the cursor in the same column.
                        {not in Vi}

เลื่อนแนวนอน (เลื่อนแนวนอน)

สำหรับสี่คำสั่งต่อไปนี้เคอร์เซอร์จะตามหลังหน้าจอ หากอักขระที่เคอร์เซอร์เปิดอยู่ถูกย้ายออกจากหน้าจอเคอร์เซอร์จะถูกย้ายไปยังอักขระที่อยู่ใกล้ที่สุดบนหน้าจอ ไม่ได้ใช้ค่าของ 'sidescroll'

z<Right>    or
zl                      Move the view on the text [count] characters to the
                        right, thus scroll the text [count] characters to the
                        left.  This only works when 'wrap' is off.  {not in
                        Vi}

z<Left>      or
zh                      Move the view on the text [count] characters to the
                        left, thus scroll the text [count] characters to the
                        right.  This only works when 'wrap' is off.  {not in
                        Vi}

zL                      Move the view on the text half a screenwidth to the
                        right, thus scroll the text half a screenwidth to the
                        left.  This only works when 'wrap' is off.  {not in
                        Vi}

zH                      Move the view on the text half a screenwidth to the
                        left, thus scroll the text half a screenwidth to the
                        right.  This only works when 'wrap' is off.  {not in
                        Vi}

สำหรับสองคำสั่งต่อไปนี้เคอร์เซอร์จะไม่ถูกย้ายในข้อความเพียงข้อความเลื่อนบนหน้าจอ

zs                      Scroll the text horizontally to position the cursor
                        at the start (left side) of the screen.  This only
                        works when 'wrap' is off.  {not in Vi}

ze                      Scroll the text horizontally to position the cursor
                        at the end (right side) of the screen.  This only
                        works when 'wrap' is off.  {not in Vi}
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.