Làm cách nào tôi có thể sử dụng số dòng để sao chép một dòng đến nơi con trỏ của tôi?


20

Rất nhiều lần tôi rơi vào tình huống tương tự như thế này:

1. <Line 1>
2. <Line 2>
3. <Line 3>
4. <Cursor is here>
5. <I want to copy line 1 here>

Một giải pháp dễ dàng là mm:1<CR>yy`mp- đó là tạo một dấu ở dòng 4, chuyển đến dòng 1, sao chép nó, quay lại dấu và dán.

Có một giải pháp ngắn hơn / nhiều chất lỏng hơn cho điều này? Tôi làm điều này thường xuyên đến mức tôi rất vui khi tạo một bản đồ cho nó.

Câu trả lời:


23

Trông giống như một trường hợp cho bản sao cũ ( :help :cohoặc :help :t):

:1t4

hoặc, sử dụng vị trí con trỏ của bạn:

:1t.

Điều này không sao chép dòng vào thanh ghi yank, có thể hoặc không thể là những gì bạn muốn.


Tôi không sử dụng bản sao đủ, đề nghị tốt.
jecxjo

10

Bạn có thể rút ngắn nó bằng cách không sử dụng nhãn hiệu và kéo thẳng dòng.

:1y<CR>p

Phiên bản lệnh của yank cần {range}một dòng hoặc một nhóm dòng.

Ngoài ra, giá trị phạm vi có thể là tuyệt đối hoặc tương đối. Các dòng trên con trỏ là khoảng cách âm và bên dưới là dương. Vì vậy, kéo dài hai dòng ở trên là :-2yvà kéo dài hai dòng bên dưới là :+2y.

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.