Làm cách nào để đặt dòng hiện tại ở trên cùng / giữa / dưới màn hình trong vim?


118

Bất kỳ thủ thuật điều hướng nhanh hơn nào để đặt dòng tại đó con trỏ đang ở thời điểm

  • đầu màn hình?
  • trung tâm của màn hình?
  • phía dưới màn hình?

Câu trả lời:


153

z<CR>hoặc zt đặt dòng hiện tại lên trên cùng của màn hình ( <CR>== Enter)

z.hoặc zz đặt dòng hiện tại vào giữa màn hình

z-hoặc zb đặt dòng hiện tại xuống dưới cùng của màn hình

( z<CR>, z., Và z-đặt con trỏ vào cột không trống đầu tiên. zt, zzzbrời khỏi con trỏ vào cột hiện hành)

Thông tin thêm về cuộn tại http://vimdoc.sourceforge.net/htmldoc/scroll.html hoặc
ở dạng vim:help scroll-cursor


14
Bạn cũng có thể sử dụng zzthay vìz.
evilsoup

2
Tôi đã không nghe nói z.trước đây. Tôi nghĩ rằng tôi thích có hai phím khác nhau để nhấn hơn là nhấn đúp. Bạn có thể thực hiện gõ phím song song đồng thời, miễn là chúng hạ cánh đúng thứ tự và thời gian giữa các lần nhấn có thể khá ngắn, làm cho điều này trở thành một lựa chọn rất nhanh. Các phím z.gương là gương của nhau (ít nhất là trên bàn phím en-GB của tôi). Bạn có thể thích một cú chạm hai lần một cách hợp lý z, và thật tuyệt khi chúng tôi có cả hai tùy chọn.
Drew Noakes

15 năm của vim và tôi không biết điều nhỏ bé tiện dụng này! Upvote!
PnotNP

14

Đầu ra của :help scroll-cursorđề cập @mtk. Lưu ý rằng có một sự khác biệt giữa zzz..


Cuộn tương đối với con trỏ (con trỏ cuộn)

Các lệnh sau định vị lại cửa sổ chỉnh sửa (phần bộ đệm mà bạn nhìn thấy) trong khi giữ con trỏ trên cùng một dòng:

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}

Cuộn theo chiều ngang (cuộn ngang)

Đối với bốn lệnh sau, con trỏ theo sau màn hình. Nếu ký tự mà con trỏ đang bật được di chuyển khỏi màn hình, con trỏ sẽ được di chuyển đến ký tự gần nhất trên màn hình. Giá trị của 'sidecroll' không được sử dụng.

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}

Đối với hai lệnh sau, con trỏ không được di chuyển trong văn bản, chỉ có văn bản cuộn trên màn hình.

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}
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.