Làm cách nào tôi có thể tìm kiếm trong vim cho một mẫu KHÔNG phân biệt chữ hoa chữ thường?


18

Tôi thỉnh thoảng tìm kiếm thông qua các tập tin trong vimhoặc lesssử dụng /hoặc ?theo như tôi có thể nói, các mẫu tìm kiếm có phân biệt chữ hoa chữ thường.

Vì vậy, ví dụ, /foosẽ không tìm thấy những điều tương tự /FOOsẽ. Có cách nào để làm cho nó ít nghiêm ngặt hơn? Làm cách nào tôi có thể tìm kiếm trong vimhoặc lesscho một mẫu KHÔNG phân biệt chữ hoa chữ thường?


2
Trong lesscác tìm kiếm không phân biệt chữ hoa chữ thường trừ khi bạn sử dụng một chuỗi có chứa chữ in hoa. Vì vậy, foosẽ khớp FooFoOnhưng Foosẽ chỉ khớp Foovà không, foov.v. Cũng xem ở đây: ít luôn luôn không phân biệt chữ hoa chữ thường .
terdon

1
@terdon Thú vị! Tôi đang đấu tranh để hiểu "lý do" của việc lesscư xử theo cách đó nhưng tôi cho rằng đó là một chủ đề cho một ngày khác. Cảm ơn!
Mike B

Chà, vì một điều, tôi thấy nó cực kỳ hữu ích khi tìm kiếm thông qua các trang man. Tôi ghét có trường hợp nhạy cảm. Có khá nhiều bài viết về điều này, cũng có một cái nhìn ở đây: Tôi có thể buộc `man` thực hiện kết hợp nhạy cảm chữ thường không? và ở đây: Trường hợp tìm kiếm không nhạy cảm trong các trang người đàn ông . Trên thực tế, nếu bạn không phiền, tôi sẽ xóa lesskhỏi câu hỏi của bạn vì điều đó được đề cập khá độc đáo trong các bài đăng khác và câu trả lời bạn nhận được giải thích cách thực hiện trong vi.
terdon

@terdon Fine bởi tôi, mặc dù vui lòng xem xét để lại cuộc đối thoại bình luận này vì tôi có xu hướng sử dụng cả hai lessvithông tin đó là có giá trị.
Mike B

Như một điểm cần làm rõ, tôi thực sự đang sử dụng vim(mặc dù tôi đang gõ vi). Xin lỗi vì sự nhầm lẫn.
Mike B

Câu trả lời:


21

Trong vihoặc vimbạn có thể bỏ qua từng trường hợp :set icvà tất cả các tìm kiếm tiếp theo sẽ xem xét cài đặt cho đến khi bạn đặt lại theo :set noic. Trong lessđó có các tùy chọn -i-Ibỏ qua trường hợp.


9
Tôi cũng muốn giới thiệu :set smartcase, để chỉ tìm trường hợp nhạy cảm khi ít nhất sử dụng ký tự in hoa.
Bernhard

3
Chỉ cho hồ sơ, smartcase là chỉ vim. Nhưng "vi" của OP có khả năng là vim, vì vậy nó đáng được đề cập / thử.
Random832

@ Ngẫu nhiên832 Yup. Chính xác. Cập nhật câu hỏi ban đầu để đề cập vimthay vì vi.
Mike B

27

Sử dụng \ctrình tự thoát:

/foo\c

Xem thêm: /programming/2287440/how-to-do-case-insensitive-search-in-vim


7
Lưu ý rằng điều này có thể đi bất cứ nơi nào trong mẫu, vì vậy nếu bạn quyết định sau khi bắt đầu nhập mà bạn muốn mẫu không phân biệt chữ hoa chữ thường, bạn có thể chỉ cần thêm \cbất cứ nơi nào bạn là Vd, vd /some_very_lo\cng_text.
wchargein

2

Trong .vimrctập tin của bạn , bao gồm

set ignorecase

hoặc là

set ic

Để kích hoạt lại độ nhạy trường hợp, sử dụng :set ic!.


1
Chào! Điều này có vẻ ổn, nhưng bây giờ nó không thêm nhiều vào câu trả lời đã được chấp nhận, phải không?
dhag

1
@dhag tất cả các câu trả lời cung cấp một cách khác nhau để hoàn thành cùng một nhiệm vụ. Đặt giá trị trong .vimrc cho phép cài đặt duy trì cho các phiên vim khác.
todgru

@dhag Bạn đúng ở chỗ điều này không giải quyết được vấn đề của OP.
todgru
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.