Làm thế nào tôi có thể kéo nhiều dòng vào một thanh ghi?


44

Tôi muốn kéo nhiều dòng trong một thanh ghi trong vim, để dễ dàng dán các mẫu văn bản khác nhau trong một tài liệu.

Ví dụ: "iyy chỉ có dòng hiện tại, nếu tôi cố gắng chọn nhiều dòng ở chế độ trực quan, nó không được ghi vào thanh ghi.

Bất kỳ đề xuất?


"nếu tôi cố gắng chọn nhiều dòng trong chế độ trực quan, nó không được ghi vào thanh ghi." <- Thật sao? Làm việc cho tôi ...
Billy ONeal

và đối với tôi cũng vậy ...
ulidtko

ah ok, tôi đã thử với "iyv, ngớ ngẩn với tôi. nên là Vjjj" iy như ulidtko đã đề cập.
ryz

Câu trả lời:


59

Sử dụng 3Yđể kéo 3 dòng vào thanh ghi mặc định; "i3Ycho việc đăng ký i.

Ngoài ra, cách ưa thích của tôi không phải là đếm các dòng tôi muốn kéo, mà là chọn chúng trong chế độ trực quan thông qua Vvà di chuyển các lệnh, sau đó nhấn yđể kéo nó hoặc "_ykéo vào một thanh ghi.

Ngoài ra, tôi vừa thử chọn nhiều dòng trong chế độ Visual Line và kéo vào thanh ghi không mặc định, ví dụ Vjjj"oy- và nó hoạt động.


1
+1 - nhưng Vlà Chế độ dòng vtrực quan , là chế độ trực quan.
Billy ONeal

ok, đúng rồi Chế độ đường trực quan. %)
ulidtko

1
sẵn sàng chấp nhận nó, cách nhanh nhất cho tôi chưa.
ryz

24

Từ bất cứ nơi nào trong tập tin, bạn có thể sử dụng như sau.

:2,5y a

Yank dòng 2 - 5. VÀO ĐĂNG KÝ a

:7pu a

Dán đăng ký một dòng dưới 7.


1
Câu hỏi được hỏi, làm thế nào tôi có thể kéo nhiều dòng vào một thanh ghi ? Hãy vui lòng chỉ ra cách các lệnh này hoạt động với các thanh ghi.
Scott

Tôi hy vọng chỉnh sửa của tôi đáp ứng yêu cầu của bạn.
alock27

Xin lỗi, không. Câu hỏi được đề cập rõ ràng "đăng ký" nhiều lần, được gọi là "dễ dàng dán các mẫu văn bản khác nhau" và đưa ra một ví dụ bằng cách sử dụng một thanh ghi không mặc định.
Scott

3
@ Xin lỗi tôi xin lỗi. Tại sao bạn không chỉ nói, "Anh bạn, kiểm tra phương pháp của bạn với: reg. Bạn sẽ thấy nó không hoạt động." Và tôi đã từng như "Whoa, xấu của tôi".
alock27

1
Đã tìm kiếm một cách để kéo người đã đăng ký + để sao chép vào bảng tạm hệ thống. :% y + đã lừa, cảm ơn.
AlexMA

10

Sử dụng mđể đánh dấu bắt đầu, với tên bộ đệm (vì vậy bạn có thể nhập mx). Di chuyển con trỏ của bạn xuống nơi bạn muốn dừng sao chép và nhập y'x(hoặc d'xnếu bạn đang cắt và dán). Sau đó di chuyển đến điểm mà bạn muốn dán và nhập p.

Bảng cheat lệnh Vim


Bạn có chắc là bạn không có ý vkhông m?
Billy ONeal

@BillyONeal 'v' bắt đầu Chế độ trực quan và cho phép bạn làm điều tương tự, 'm' được sử dụng để "đánh dấu" một khu vực.
Nifle

6

Bạn đặt tiền tố lệnh với một số để có bao nhiêu dòng hoạt động. Bạn cũng có thể sử dụng một 'đối tượng văn bản' (như ']' cho khối và ')' cho đoạn văn) - điều này sẽ hoạt động trên nhiều dòng theo ngữ cảnh - mặc định thường là một dòng. Ví dụ: "r5yysẽ kéo năm dòng bắt đầu từ con trỏ vào thanh ghi 'r'. (Hoặc bạn có thể nhập :.,+4y rđể làm tương tự trong chế độ cũ.) Bạn cũng có thể kết hợp số với các đối tượng văn bản; "r10y).


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.