Có một incsearch cho lệnh thay thế?


12

Tôi thực sự thích incsearchchức năng của Vim . Có cách nào để có nó, hoặc một cái gì đó tương tự như nó, làm việc trong khi tôi thay thế?

Ví dụ: nếu ở chế độ bình thường tôi gõ:

:%s/potato/

Tôi có thể lấy tất cả các chữ potatođược tô sáng trên tệp của mình không, giống như chúng được tô sáng incsearchkhi tôi viết

/potato

?

Điều này đã giúp tôi rất nhiều khi sử dụng các biểu thức thông thường. Một điều rất tuyệt vời sẽ xảy ra khi tôi viết bài này:

:%s/potato/banana/

Nó sẽ thay thế potatos bằng bananas và làm nổi bật chúng - có thể các thay thế nên có màu khác. Nó không thể "cam kết" thay đổi cho đến khi tôi nhấn enter mặc dù).

Tôi đang sử dụng neovim tại thời điểm này, trong trường hợp nó giúp.


1
Ý bạn là incsearchsao hlsearchnên hoạt động ootb, nếu tôi gõ :%s/potato/\0/để thay thế potatobằng chính nó, thì tôi thấy tất cả các trận đấu được tô sáng.
jjaderberg

Inded, tôi có nghĩa là tìm kiếm. Thay thế trong câu hỏi của tôi, cảm ơn.
kikito

Nó có thể không kosher nhưng :/pattern<CR>hoạt động tốt sau đó thêm% s và chuỗi thay thế. Một lần nữa, tinh chỉnh tìm kiếm và sử dụng CTR-R / để dán vào phần tìm kiếm của:%s/
Steve

Đăng ký vào @jjaderberg: :%s/potato/carrot/csẽ cho phép bạn nhảy ("xác nhận") thông qua các thay thế của bạn (thêm gđể thay thế tất cả các phiên bản trên cùng một dòng) và hlsearchbạn sẽ thấy chúng trước.
Rolf

Câu trả lời:


9

Sau một chút tìm kiếm, tôi đã tìm thấy vấn đề NeoVim này , đến lượt nó đã bị đóng bởi PR này , điều này đưa tôi đến inccommandcài đặt. Thêm phần này vào tập tin cấu hình của tôi:

set inccommand=nosplit

làm cho NeoVim hành xử gần như chính xác như tôi yêu cầu trong câu hỏi của tôi. Tôi không tìm thấy thứ gì đó tương đương với Vim thông thường, nhưng tôi không tìm kiếm nó một cách hăng hái.


4
Trong situtaion của bạn, vì incsearchtrong các phụ đề (là một Vimmer lười biếng và chậm chấp nhận những thứ mới), tôi có thể sẽ tìm kiếm khoai tây ( /potato) thưởng thức tìm kiếm tăng dần thông thường, và sau đó thay thế bằng một tìm kiếm trống rỗng : %s//banana. Nhưng tôi không biết làm thế nào nó so sánh với set inccommand=nosplitcác khía cạnh khác.
jjaderberg

Cảm ơn! Tôi không biết "thủ thuật tìm kiếm trống". Tôi sẽ cố nhớ nó khi tôi vim trên máy chủ của mình
kikito

1
@jjaderberg bằng cách tôi thích inccommandcài đặt này đến mức tôi đã tạo ra một asciinema hiển thị nó tại nơi làm việc, trong trường hợp nó thúc đẩy bạn thử neovim
kikito

2
@jjaderberg Tôi nghĩ rằng đó xứng đáng là một câu trả lời.
Giàu

Thật không may, liên kết đến asciinema đã chết.
sjy
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.