vim: thay thế tất cả các ký tự cho đến cuối dòng


30

Có thể tôi đang bị lừa nhưng bạn có thể thay thế tất cả các ký tự từ nơi con trỏ đến cuối dòng bằng một lệnh không? Sau đó sử dụng .để làm tương tự thay thế trên dòng tiếp theo và như vậy.

Câu trả lời:


49

Nếu tôi hiểu đúng câu hỏi của bạn, hãy thử điều này:

C(đó là chữ hoa C) sẽ xóa mọi thứ từ con trỏ đến cuối dòng và đưa bạn vào chế độ INSERT , sau đó bạn viết thay thế, rời khỏi chế độ INSERT, sử dụng .để lặp lại quy trình ở một nơi khác.


Khỏe. :)Không có gì.
sr_

16
nếu có ai thắc mắc, đó là thủ đô C :)
David Silva Smith

1
Sẽ là tốt để cập nhật các câu trả lời để xác định rằng đây là một vốn C.
fraxture

14

Thêm vào câu trả lời của sr_:

Nếu con trỏ của bạn bắt đầu ở cùng một vị trí trên mỗi dòng, bạn có thể quan tâm đến tính năng Visual Block .

Nhập các mục sau theo thứ tự, với con trỏ của bạn ở vị trí ban đầu:

  • Ctrl+ v: Vào chế độ khối trực quan.
  • $: đi đến cuối dòng.
  • [X]j: thay X bằng số dòng bạn muốn đi xuống.

Điều này sẽ tạo ra một lựa chọn hình chữ nhật đi từ con trỏ của bạn trên dòng đầu tiên đến cuối dòng [X] bên dưới.

Sau đó, bạn có thể thay thế toàn bộ lựa chọn của mình:

  • c: xóa selction và chuyển sang chế độ chèn.
  • chèn văn bản mới
  • Esc: Thoát chế độ chèn; Vim sẽ tự động lặp lại bước trên mỗi dòng được chọn.

Tôi sử dụng khối trực quan bất cứ khi nào tôi có thể, tôi nghĩ tôi muốn chia sẻ


+1 câu trả lời tốt đẹp thực sự. Nhưng không thực sự như những gì tôi muốn vì đôi khi mã của tôi không được định dạng độc đáo như thế ^ _ ~
Sardathrion - Tái lập lại

@sardathrion; Nhận xét RE, 'định dạng độc đáo'. Tạo bảng trong Markdown Tôi đã có thể tự động điền vào chỗ trống trong n+1dòng, sau khi tạo dòng nbằng Visual Block chọn ngược ! Nói cách khác, hình dạng tương tự như L ngược 7 hoặc lật ngược L, hoặc 'không được định dạng độc đáo'. haha
xtian

3

Choặc c$là để "thay đổi" và Rlà "thay thế".

Hai hành vi gần như tương tự nhau. Cái trước sẽ xóa dòng trước khi bạn bắt đầu gõ; trong khi cái sau sẽ cho phép bạn nhập các ký tự và có thể vượt quá giới hạn của các ký tự của dòng cũ được hiển thị.


1

Chỉ cần nhấn 'C' tức là Capital C trong chế độ lệnh và nhập văn bản thay thế.


0

Các câu trả lời khác đã bỏ lỡ những câu hỏi này, chúng không vào chế độ chèn.

  • D Xóa đến cuối dòng
  • d$ Xóa từ con trỏ đến cuối dòng

Sau đó tất nhiên sử dụng .


-1 vì không vào chế độ chèn vì đó là những gì tôi yêu cầu. +1 vì lợi ích hoàn chỉnh.
Sardathrion - Phục hồi Monica

0

Vì nó có thể hữu ích, một khi chúng ta đang cố gắng thay đổi cho đến cuối dòng. Tôi đã tạo một ánh xạ chèn để thực hiện tác vụ này, nó không sử dụng Dvì trong chế độ chèn, phím này được sử dụng để giảm thụt lề. Nó là như vậy Ctrl-k

:inoremap <C-k> <C-o>C
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.