2011-01-31 13 views
6

Tôi đang thử tìm kiếm một phần của một số dòng được kéo mạnh dưới chế độ trực quan.mẫu tìm kiếm vim cho một đoạn văn bản được kéo mạnh trong chế độ trực quan

Cách nhanh nhất để thực hiện điều đó trong VIM là gì? Đối với exmaple,

Hello, #{1} world. 

Tôi nhấn v vào chế độ hình ảnh và chọn llo, #{1} wor tại dòng 1. Sau đó, tôi giật mạnh văn bản đã chọn bằng cách nhấn y, và sau đó, tôi đang cố gắng để tìm kiếm các văn bản đã chọn bằng cách nhấn /. Điều đó dẫn đến các câu hỏi sau:

A: Làm cách nào để vượt qua văn bản được kéo dài khi tôi đang ở chế độ tìm kiếm?

B: Cách tránh hoạt động của các ký tự thoát cho mẫu tìm kiếm?

+0

Sửa tiêu đề để * hình ảnh * chế độ (là * virtual * trước) – eckes

Trả lời

3

Tôi đã ghi đè số the star command for the visual mode (NB: yêu cầu một tập tin từ lh-vim-lib). Nó trả lời cho nhu cầu của bạn:

  1. chọn trong hình ảnh chế độ
  2. báo chí */#
  3. tiếp tục tìm kiếm với n/N
+0

Cảm ơn. Tôi đã sao chép hàm lh # visual # vào v_star.vim. Nó hoạt động như một say mê! – SunLiWei

6

Khi cần phải xé một số văn bản (và chỉ định không đăng ký để yank nó vào), nó đi đăng ký 0. Vì vậy, nếu bạn muốn tìm kiếm cho rằng văn bản kéo mạnh, nhấn ESC để có được vào chế độ bình thường và sau đó

/CTRL-r0 

(tức là bấm /, sau đó CTRL +r, sau đó) để kéo nội dung của đăng ký 0 thành mô hình tìm kiếm.

Một số lưu ý:

  • Để tìm kiếm các mẫu khác được lưu trữ trong thanh ghi khác, bạn có thể gõ :reg và xem các nội dung đăng ký trước khi quyết định đăng ký nội dung để sử dụng cho việc tìm kiếm của bạn.
  • Để đặt chân vào một thanh ghi khác với 0 (ví dụ 2), bạn có thể nhập "2y (:he v_y).
  • Để tìm kiếm văn bản đã chọn trực tiếp, bạn có thể sử dụng ánh xạ được mô tả here cho phép bạn chỉ cần nhấn X (ký tự viết hoa X) trong khi ở chế độ trực quan để tìm kiếm văn bản đó.
  • Để tìm kiếm nói chung, this vimcast cung cấp cho bạn phần giới thiệu về cửa sổ dòng lệnh rất mạnh với lịch sử tìm kiếm (phát hiện ra nó cách đây hai tuần và hoàn toàn thích nó!).
+0

Cảm ơn bạn đã giải thích rõ ràng. – Kalyan

12

A:

Ctrl-r .

B:

Ngoài các Ctrl-r lừa, cũng có Ctrl-r=, cho phép bạn gõ vào một biểu thức để được đánh giá và mở rộng để kết quả .

/ (nay là nhanh chóng trông giống như /)
Ctrl-R= (nay là nhanh chóng trông giống như =)
escape(@0, '\^$*.~[')Nhập (nay là nhanh chóng trông giống như /llo, #{1} wor)
Nhập

Lưu ý rằng @reg có nghĩa là "nội dung của đăng ký reg" và đăng ký 0 là lần cuối cùng hoặc xóa. Tôi nghĩ rằng thoát khỏi tất cả các ký tự đặc biệt trong vi regexps… trong mọi trường hợp, bạn có thể muốn tạo ánh xạ hơn để nhập tất cả.

+0

Nếu tôi yank toàn bộ dòng, tôi phải xóa '^ M' hoặc'^@ 'từ cuối trước khi tìm kiếm. –