Di chuyển (hiệu quả) theo chiều dọc trong Vim


27

Khi tôi muốn tiếp cận một phần nào đó của từ trong Vim (theo chiều ngang), tôi chỉ cần nhấn w, b, f hoặc t (một cái gì đó). Có một cách tốt để làm điều này theo chiều dọc? Chẳng hạn, tôi muốn nhận được một từ nào đó hoặc một chữ cái của một dòng nằm bên dưới hoặc bên trên dòng tôi hiện đang ở.

PS: Không sử dụng: (số dòng)

Câu trả lời:


29

H, MLsẽ di chuyển con trỏ của bạn vào đầu, giữa và dưới cùng của màn hình, tương ứng. Sau đó, bạn có thể nhấn zzđể căn giữa màn hình trên dòng con trỏ của bạn đang bật.


5
Và màn hình di chuyển zb và zt ở dưới cùng và trên cùng
Jani Hartikainen

11
  • bạn có thể sử dụng mũi tên lên / xuống để di chuyển một dòng
  • bạn có thể nhập một số và sau đó sử dụng mũi tên lên / xuống để di chuyển lên / xuống nhiều dòng
  • gnhảy nhỏ đến dòng đầu tiên của tài liệu
  • vốn Gnhảy đến dòng cuối cùng của tài liệu
  • v.v.

Có rất nhiều cách khác nhau, vim rất linh hoạt trong khía cạnh này. Tôi khuyên bạn nên lấy một bảng cheat vim trước cho các lệnh cơ bản, và sau đó khi bạn có thời gian, hãy xem tài liệu vim về chủ đề này.

Liên kết đến một bảng cheat: Bảng cheat

Cũng thế:

  • /+ chuỗi + (Enter)tìm kiếm lần xuất hiện tiếp theo của chuỗi từ con trỏ tới cuối tài liệu
  • ? - thực hiện tương tự nhưng từ con trỏ lùi về phía đầu tài liệu


6

Tôi nhảy xung quanh bằng cách tìm kiếm các chuỗi độc đáo nơi tôi muốn đi. Trong Vim, bạn có thể làm điều này với:

/chuỗi tìm kiếm

Tôi thường cuộn tiến và lùi bằng n và N sau khi tôi đã tìm kiếm.

Tôi cũng cuộn bằng cách sử dụng Ctrl-F và Ctrl-B để chuyển qua trang một cách nhanh chóng. Nhưng tôi sử dụng thủ thuật tìm kiếm thường xuyên nhất. Đôi khi bạn có thể bị lạc khi đi qua kết quả tìm kiếm với n và N. Một lệnh hay để tự định hướng là Ctrl-G, in ra một cái gì đó như thế này ở dưới cùng của màn hình Vim:

"script.pl" dòng 219 của 328 --66% - col 19-23


+1 cho <CTRL> -F và <CTRL> -B, mặc dù tôi có xu hướng "gian lận" và sử dụng <PGUp> và <PGDown> gần như thường xuyên!
technomalogical

4

thử :: anh Motion.txt và: anh ấy lên xuống

Nó có toàn bộ danh sách các chuyển động có thể lên xuống


3

Bạn cũng có thể thực hiện các bước nhảy đến dòng cụ thể trong tài liệu bằng cách cấp Ngg ở đâu Nlà số dòng bạn muốn nhảy.


1
ý bạn là NG...
Peter

1
Tôi cũng sử dụng Ngg(cả hai biến thể đều hoạt động)
soulmerge

1
Cũng như:N
viraptor


2

như đã đề cập trước đây H, M, L (như cao, trung bình, thấp) hjkl là các lệnh trò chơi console điển hình cho trái, xuống, lên, phải và hoạt động tương tự trong vi (j, k hoạt động trong gmail nếu bạn bật các lệnh chính)


1

<Ctrl>+D - xuống

<Ctrl>+U - lên


Đó là một cuộn nửa trang. Để sử dụng cuộn trang đầy đủ <c-f><c-b>
Al.G.

1

Ngoài các chuyển động dọc thông thường, tôi sử dụng một phiên bản sửa đổi của /programming/4946421/vim-moving-with-hjkl-in-long-lines-screen-lines . Tôi thường di chuyển bằng các phím mũi tên, không phải hjkl (người dùng thời gian ngắn của các biên tập viên khác trước khi tôi tìm thấy Vim, quá quen với mũi tên / Home / end / PGUp / PGDn để chuyển đổi, thậm chí sau hơn 5 năm sử dụng Vim độc quyền).

function! ScreenMovement(movement)
   if &wrap
      return "g" . a:movement
   else
      return a:movement
   endif
endfunction
map <expr> <C-Down> ScreenMovement("j")
map <expr> <C-Up> ScreenMovement("k")
map <expr> <C-Home> ScreenMovement("0")
map <expr> <C-End> ScreenMovement("$")

Bằng cách giữ Ctrl tôi có thể đi trực quan đến bắt đầu / kết thúc hoặc lên / xuống các hàng hiển thị. Đối với tôi điều này là hiệu quả hơn so với các lựa chọn thay thế, ít nhất.

Hầu như quên: Tôi cần sửa đổi .Xdefaults để nó hoạt động trong urxvt cụ thể, nhưng đó có lẽ là một vấn đề ngoài chủ đề (có câu trả lời trên Google).

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.