regim vim không cần \ thoát


17

Trong Vim là có một tùy chọn để viết regexs theo phong cách tương tự như AWK ví dụ

/sp\{0,\}/
sẽ được

/sp{0,}/

Câu trả lời:


29

Trước mô hình của bạn với \vsẽ làm cho mô hình ma thuật Hồi giáo, và các biểu tượng thích {[có ý nghĩa diễn giải (và nghĩa đen cần phải được thoát ra).

Vì vậy, /\vsp{1,}sẽ tìm thấy những gì bạn muốn (tôi chỉ thử nghiệm nó).

Bạn có thể làm điều này một loại mặc định bằng cách Remapping /đến /\vvới những dòng sau trong vimrc của bạn:

nnoremap / /\v
vnoremap / /\v

Xem :help patternđể biết thêm.


1

/sp\{0,}

Tất nhiên {0,}, bạn sẽ tốt hơn khi sử dụng *: /sp*would (giống như ở trên) tìm một 's' theo sau là 0 hoặc nhiều p. Lưu ý rằng số 0 trở lên luôn luôn đúng, vì vậy không có lý do nào cho biểu thức cụ thể này.


Đây là tất cả thông tin tốt và rất hữu ích. Có cách nào để biến sự trốn thoát của các nhân vật đặc biệt trong vim không?
MageProspero

Tôi thấy những gì bạn có nghĩa là bây giờ. Tôi thực sự nghi ngờ điều đó, điều đó gần như chắc chắn sẽ yêu cầu một trình phân tích cú pháp khác được phát triển song song và tôi nghi ngờ đây sẽ là một tính năng có đủ nhu cầu để biện minh cho việc triển khai và bảo trì bổ sung đó.
Kevin

-1

Vim không có tùy chọn để mô phỏng các biểu thức chính quy theo kiểu awk, không. Có rất nhiều phương ngữ của regex, và thật không may, luôn có những khác biệt biện chứng nhỏ này để theo dõi khi đi từ công cụ này sang công cụ khá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.