2011-10-06 21 views
9

Tôi chưa thấy yêu cầu này trên stackoverflow, và đây là điểm đau lớn nhất của tôi trong vim:Cách ưa thích để di chuyển trong vim (chế độ thông thường)

Làm thế nào để tất cả điều hướng trong một tệp? Tôi thấy mình sử dụng hjkl quá nhiều, hoặc quá lặp đi lặp lại, và tôi muốn cải thiện điều này. Điều này là bực bội khi bạn đang ở trên một màn hình lớn.

Tôi đã cài đặt EasyMotion - và cho đến nay nó được tốt cho tôi - Tôi chỉ muốn biết nếu có điều gì đó tốt hơn ...

Cảm ơn!

Trả lời

19

Tôi thích số cheatsheet of Ted Naleid. Nó giống như một mặt kẻ ô, do đó bạn có thể dễ dàng tìm thấy các chuyển động ngang và dọc. Đặt nó trên một bức tường bên cạnh màn hình của bạn và bạn sẽ sớm nhận được các phong trào mới trên bay.

Các phong trào mà tôi thích thời gian gần đây là:

  • () và {} mà cho phép bạn nhảy chức năng khôn ngoan trong mã nguồn
  • /và? + n/N chỉ cần tìm kiếm, bạn thường biết bạn muốn đi đâu
  • fx và tx - để nhảy tới hoặc trước ký tự tiếp theo x tất nhiên bạn có thể thực hiện 2fx để nhảy tới lần xuất hiện thứ hai của x, giống như bạn có thể làm với tất cả các phong trào
  • % để di chuyển giữa bắt đầu và kết thúc ngoặc
+2

+1 cheatsheet này thông minh, dễ hiểu và đẹp mắt. – romainl

+0

Trong một thời gian dài tôi đã lưu nó trong máy tính để bàn của tôi. – skeept

2

tài liệu đơn giản:
http://vim.wikia.com/wiki/Moving_around

phong trào thường xuyên:
hjkl/phím mũi tên/trang lên/page down
% sẽ chuyển đổi giữa mở/niềng răng kết thúc
gg/G chuyển sang trên/dưới

Gấp:
Để thu gọn các khối mã lớn, bạn có thể sử dụng tính năng gấp.
http://vimdoc.sourceforge.net/htmldoc/fold.html

Tìm kiếm:
Để nhảy đến một cái gì đó đặc biệt là loại /searchstring (sử dụng với set inc để nhảy ngay đến các trận đấu trong khi gõ)
* để tìm kiếm về phía trước cho cùng một từ con trỏ trên
# tương tự, nhưng tìm kiếm backward

Bạn cũng có thể sử dụng nhãn hiệu.
http://vim.wikia.com/wiki/Using_marks

Tôi cũng sử dụng thẻ và nhảy để tìm nội dung trên nhiều tệp.
http://vimdoc.sourceforge.net/htmldoc/tagsrch.html

Tôi chưa bao giờ cần gì khác.

9

Tôi sử dụng bw để di chuyển sang trái và phải tương ứng trên một dòng. Đối với lên và xuống, tôi sử dụng tương ứng Ctrl+uCtrl+d. IMO Ctrl+uCtrl+d tốt hơn Ctrl+bCtrl+f vì chúng cuộn nửa cửa sổ cùng một lúc để bạn không mất ngữ cảnh.

Tôi chưa thực sự sử dụng bất kỳ plugin nào để di chuyển xung quanh trong thời gian này.

Quên đề cập đến hai phím bấm quan trọng khác, $^ để di chuyển đến cuối dòng và bắt đầu dòng tương ứng.

3

Nó phụ thuộc vào cách bạn muốn di chuyển xung quanh, nhưng nói chung,

  • A đặt bạn trong chế độ chèn vào cuối của một dòng
  • I vào đầu
  • o chèn một dòng dưới đây
  • O trên

và nhiều quyền lực hơn hoàn toàn, tìm kiếm với /<thing you want to jump to> rất tiện dụng. Trong tệp c nơi các hàm được định dạng

int 
funcname() 

/^funcname sẽ chuyển bạn đến đầu hàm. Có nhiều hơn nữa, nhưng điều này là một khởi đầu tốt cho một người mới để vim.

7

Một số lệnh di chuyển:

b B e E f F ge gE gj gk go G h H j k l L M n N t T w W { }/?^$ # * ` ' | % 

Tìm hiểu họ, cộng với tất cả các lệnh bắt đầu với [ như [{ mà là rất hữu ích khi chỉnh sửa mã C-style ...

Xem :help index.txt để tham khảo.

1

tôi không thực sự nhìn thấy nhiều thêm về giác ngộ chung nhưng tôi sử dụng (xếp hạng bởi mức độ thường xuyên sử dụng chúng tôi):

w and b 

để di chuyển một từ sang phải và sang Bên trái.

/ and ? 

để tìm kiếm một từ hoặc mẫu ở dưới cùng hoặc trên cùng.

G and gg 

để chuyển xuống cuối và phần trên cùng của bộ đệm.

<C-f> and <C-b> 

để chuyển sang màn hình tiếp theo và trước đó.

* and # 

để chuyển đến lần xuất hiện tiếp theo và trước đó của từ bên dưới con trỏ.

f and F 

để nhảy trước một ký tự sang phải hoặc sang trái.

t and T 

để nhảy một ký tự sang phải hoặc sang trái.

Ho! và

$ and^

rất nhiều, để nhảy đến cuối và đầu dòng.

3

Chủ yếu là tôi sử dụng sau đây (theo thứ tự tần số):

  • 'R đi đến vị trí đánh dấu (các ' là quá ra khỏi bàn phím cơ bản để sử dụng nhiều)
  • /tìm kiếm | ? tìm kiếm forward | backward search
  • n | N tiếp theo | trước trong tìm kiếm
  • H | L | M đầu | đáy | giữa màn
  • G chuyển đến cuối tập tin
  • 1G đi đến dòng 1
  • { đi ngược một 'đoạn' (thường là một khối mã)
  • } đi về phía trước một 'đoạn'

Hầu hết tất cả các thể augme nted với một số trước khi lệnh.

0

Đọc http://www.viemu.com/a-why-vi-vim.html và chạy vimtutor, cũng: help motion.txt sẽ hữu ích. Tôi khuyên bạn nên ở trong chế độ bình thường mọi lúc - như được mô tả trong bài viết ở trên. Nói chung, học vim là học piano - bạn phải luyện tập nhiều.

Các vấn đề liên quan