Cách sao chép từ vị trí hiện tại đến cuối dòng trong vi


101

Tôi sử dụng gvim trong windows. Cách sao chép văn bản từ vị trí hiện tại đến cuối dòng trong vi và dán vào tệp khác đã mở trong vi. Tôi đã truy cập nó nhưng không thể tìm thấy bất kỳ giải pháp nào cho việc này. Đánh giá cao bất kì sự giúp đỡ nào về điều này. Cảm ơn bạn.

Câu trả lời:


154

Lệnh ở chế độ bình thường để di chuyển đến cuối dòng là $.

Bạn có thể sao chép vào cuối dòng y$và dán với p.

Để sao chép / dán giữa các trường hợp khác nhau, bạn có thể sử dụng khay nhớ tạm của hệ thống bằng cách chọn thanh *ghi, do đó các lệnh trở thành "*y$để sao chép và "*pdán.

$ di chuyển sang dòng

$

y$ yank-to-linebreak

y,$

"*y$ chọn clipboard-đăng ký yank-to-linebreak

", *, y,$

"*p chọn clipboard-đăng ký dán

", *,p

Kiểm tra :h registersđể biết thêm thông tin.


Cảm ơn. nhưng tôi muốn dán nội dung vào 'tệp khác' được mở trong vi. Điều này chỉ hoạt động với cùng một tệp.
javalearner

4
Nó sẽ hoạt động cho bất kỳ tệp nào được mở trong cùng một phiên bản. Bạn có thể sao chép vào khay nhớ tạm thời của hệ thống bằng cách chọn *(hoặc +) đăng ký.
Don Reba

Tại sao đăng ký hệ thống không thể làm việc ... Tôi không thể sao chép các bối cảnh file1để file2. Tôi vẫn cần sử dụng chuột. Lý do có thể là gì?
Alston

8
Tôi thường sử dụng Dđể cắt từ vị trí hiện tại đến cuối và pdán (khôi phục) dữ liệu ban đầu, sau đó di chuyển đến một nơi khác để dán dữ liệu bị kéo. Đơn giản vì nó dễ gõ Dhơn nhiều y$.
neevek

1
@PhilipRego, nó y$, không có dấu chấm phẩy.
Don Reba

45

Nếu bạn không muốn bao gồm ngắt dòng với yank, bạn có thể sử dụng yg_. (Hoặc trong trường hợp của bạn, "*yg_)

Về cơ bản, chỉ cần nhận ra có sự khác biệt giữa $g_di chuyển khôn ngoan. Nó đã giúp tôi rất nhiều lần.


3
Có cách nào để hoán đổi không g_$? Tôi thấy mình hiếm khi cần bao gồm ngắt dòng trong chuyển động.
Jonathan Dumaine,

1
ĐÚNG! dòng mới bổ sung đang khiến tôi phát điên. Đây là thông tin cần thiết.
javadba

6
$MYVIMRCnmap $ g_
@JonathanDumaine

@thedanotto you beautiful người
Jonathan Dumaine


3

Một giải pháp khác: Dpvà dán nó với p. Trên thực tế, điều này đầu tiên sẽ xóa đến cuối dòng và dán lại nó ở cùng một vị trí. Dán nó vào một nơi khác với p.


1
Tại sao không phải Du và để tập tin không bị sửa đổi? (lưu ý: điều này bao gồm dòng mới)
gen
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.