Jak mogę wyszukać w vimie wzorzec, który NIE rozróżnia wielkości liter?


18

I od czasu do czasu przeglądać pliki w vimlub lessprzy użyciu /albo ?ale o ile mogę powiedzieć, wzorce wyszukiwania wielkość liter.

Na przykład /foonie znajdziesz tych samych rzeczy, które /FOOznajdziesz. Czy istnieje sposób, aby uczynić go mniej surowym? W jaki sposób można przeszukiwać vimlub lessna wzór, który nie jest wielkość liter?


2
W lesswyszukiwaniu nie jest rozróżniana wielkość liter, chyba że użyjesz łańcucha zawierającego dużą literę. Tak, foobędzie pasował Fooi FoOjednak Foobędzie tylko dopasować Fooi nie fooitd. Również zobaczyć tutaj: mniej zawsze jest wielkość liter .
terdon

1
@terdon Ciekawe! Próbuję zrozumieć, dlaczego tak się lesszachowuję, ale przypuszczam, że to temat na kolejny dzień. Dzięki!
Mike B

Cóż, po pierwsze, uważam, że jest to niezwykle przydatne podczas przeszukiwania stron podręcznika. Nie chciałbym mieć w tym rozróżniania wielkości liter. Jest o tym sporo postów, spójrz tutaj: Czy mogę zmusić `man` do dopasowania małych i wielkich liter? i tutaj: Wyszukiwanie bez rozróżniania wielkości liter na stronach podręcznika . W rzeczywistości, jeśli nie masz nic przeciwko, usunę lessz twojego pytania, ponieważ jest to całkiem ładnie ujęte w innych postach, a odpowiedzi, które otrzymałeś, wyjaśniają, jak to zrobić w vi.
terdon

@terdon dzieła przeze mnie, chociaż należy rozważyć pozostawienie tego komentarza dialogu jako I mają tendencję do używania zarówno lessi vii że informacja jest cenna.
Mike B

Dla wyjaśnienia, rzeczywiście używam vim(chociaż piszę vi). Przepraszamy za zamieszanie.
Mike B

Odpowiedzi:


21

W vilub vimmożesz zignorować :set icwielkość liter według , a wszystkie kolejne wyszukiwania uwzględniają to ustawienie, dopóki go nie zresetujesz :set noic. W lessistnieją możliwości -ii -Izignorować sprawę.


9
Chciałbym również polecić :set smartcase, aby wyszukiwać rozróżnianą wielkość liter tylko wtedy, gdy użyto co najmniej wielkich liter.
Bernhard

3
Dla przypomnienia, smartcase jest tylko vim. Ale „vi” OP jest prawdopodobnie vimem, więc warto o tym wspomnieć / spróbować.
Random832

@ Random832 Yup. Poprawny. Zaktualizowałem oryginalne pytanie, aby wspomnieć vimzamiast vi.
Mike B


2

W swoim .vimrcpliku dołącz

set ignorecase

lub

set ic

Aby ponownie włączyć rozróżnianie wielkości liter, użyj :set ic!.


1
Cześć! Wygląda to OK, ale nie ma większego wpływu na już zaakceptowaną odpowiedź, prawda?
dhag

1
@hag wszystkie odpowiedzi zapewniają inny sposób wykonania tego samego zadania. Ustawienie wartości w .vimrc pozwala zachować ustawienie dla innych sesji vim.
todgru

@dhag masz rację, ponieważ nie rozwiązuje to problemu OP w mniejszym stopniu.
todgru
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.