Câu trả lời:
Tôi làm như sau để nối văn bản vào nhiều dòng:
<c-V>
- Vào chế độ Visual Block.j
/ k
để chọn các dòng.$
- Di chuyển con trỏ đến ký tự cuối cùng.A
- Nhập chế độ chèn sau ký tự cuối cùng.<Esc>
- Thoát chế độ chèn và kết thúc khối bổ sung.Khi so sánh với việc viết :norm
sau khi lựa chọn thậm chí còn có ít lần nhấn phím hơn, nhưng lý do thực sự khiến tôi sử dụng điều này là do bản năng của tôi hoạt động ở chế độ Visual Block cho loại thay đổi này.
Trên dòng đầu tiên chỉ cần gõ:
4:norm A.
4
và :
tạo một phạm vi cho bạn và sau đó norm A.
thêm dấu chấm vào mỗi dòng
Một giải pháp khác cho các đoạn văn dài hơn có thể là:
Vip<C-v>$A.<Esc>
Bước đầu tiên là chọn đoạn Vip
sau đó bạn thay đổi sang chế độ khối trực quan và di chuyển con trỏ đến cuối mỗi dòng, $
sau đó bạn thêm đoạn đó .
vào A.
và chuyển sang chế độ bình thường <Esc>
để xem thay đổi được áp dụng cho từng dòng .
:A
Lệnh này là gì? Tôi không tìm thấy nó qua:h :A
4:norm A.
sẽ là4:s/$/.
Trước tiên, bạn có thể chọn chúng một cách trực quan bằng cách sử dụng V
và sau đó sử dụng các phím di chuyển để chọn toàn bộ văn bản (hoặc nếu văn bản đúng là một đoạn bạn có thể làm [bắt đầu từ dòng đầu tiên] V}
). Và sau đó gõ :
. Điều này sẽ đưa ra một cái gì đó giống như :'<,'>
trong dòng lệnh.
:'<'>normal A.
Điều này thực hiện normal A.
trên các dòng được chọn. normal A.
thực hiện A.
như tổ hợp phím chế độ bình thường. Điều này A
dành một .
phần cuối của mỗi dòng được chọn.
Nếu bạn muốn thêm dấu chấm ở cuối tất cả các dòng:
:%norm A.
hoặc bạn có thể sử dụng tìm kiếm và thay thế:
:%s/$/./
% là toàn bộ tệp, $ là cuối dòng
:1,4s/$/./
thay thế ký tự cuối cùng bằng một dấu chấm trên các dòng từ một đến bốn.
Để làm cho nó tổng quát hơn một chút, bạn có thể ghi lại một macro trên một dòng và sau đó phát lại trên mỗi dòng trong phạm vi được chọn trực quan của bạn.
Ghi một macro vào một thanh ghi (thanh ghi q trong ví dụ này):
qqA.<Esc>q
Sau đó, bạn có thể chọn trực quan các dòng bạn muốn hoạt động:
Vip
Và sau đó phát lại macro của bạn trên mỗi dòng (phạm vi sẽ được tự động điền):
:'<,'>norm @q