Thay thế văn bản khi ở chế độ khối trực quan


10

Có thể tôi đang tìm kiếm sai cách, nhưng tôi đã thất bại trong việc tìm ra cách để làm điều này.

Đây là kịch bản: Tôi có một danh sách trong tệp văn bản nơi tôi muốn chèn cùng một từ trên nhiều dòng, đây là một văn bản mẫu:

12.1 Mục1
12.2 Mục2
12.3 Mục3

Bây giờ tôi đánh dấu khối trực quan đánh dấu cột thứ 8, được biểu thị bằng dấu gạch dưới bên dưới và có ý định thay thế một phần của khoảng trắng Donemà không di chuyển cột mục:

12.1 _ Mục1
12.2 _ Mục2
12.3 _ Mục3

Tôi dự kiến ​​rằng tôi có thể vào chế độ thay thế, nhưng tôi chỉ có thể nhập insert ( I), append ( A) hoặc thay đổi chế độ ( c). Chế độ thay đổi gần với những gì tôi muốn: nếu tôi biết độ dài của từ thì khối có thể được đặt thành cùng chiều rộng.

Có điều gì tôi đang thiếu ở đây?

Câu trả lời:


18

Tại sao bạn không chọn 4 cột và nhấn c?

<C-v>
2j
3l
cDone
<Esc>

Ngoài ra, bạn có thể sử dụng :h normal:

V
2j
:'<,'>norm 7lRDone
<Esc>

1
Điều đó hiệu quả Done, nhưng nếu tôi muốn viết một cái gì đó khác, tôi muốn không bị đếm các ký tự, nếu có thể.
Thor

1
:normlà bạn của bạn
romainl

Có, giải pháp thứ hai có thể được sử dụng để lập bản đồ thuận tiện. Cảm ơn bạn.
Thor

1

Nếu bạn muốn thay thế trong một khối trực quan, bạn có thể sử dụng vis.vimplugin .

http://vim.wikia.com/wiki/Appending_substitutes_to_a_visual_block

Để cài đặt:

Tải xuống vis.vba.gz từ http://www.drchip.org/astronaut/vim/index.html#VIS

# Open vis.vba.gz in Vim 7.1 or later.
vim vis.vba.gz

# Source the open file.
:so %

# Quit Vim
:q

Một lần được cài đặt:

ctrl-v to enter visual-block mode
Move to select the block you want
:B s/pattern/newtext/

Thậm chí tốt hơn, bạn có thể thực hiện bất kỳ lệnh Ex nào trên khối trực quan, không chỉ thay thế. Ví dụ :B !sort.


Plugin đẹp, tôi sẽ sử dụng nó :-). Nhưng làm thế nào tôi có thể sử dụng nó để thay thế các cột tùy ý?
Thor

Phải, bạn vẫn có vấn đề nhanh chóng đặt chiều rộng khối hình ảnh để khớp với các cột có chiều rộng tùy ý. Tôi thường làm <Count> whoặc eđể chọn một vài cột một cách nhanh chóng, sau đó điều chỉnh bằng hhoặc l.
Christian Long
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.