Пошук слова у vim?


Відповіді:


207

подобається це:

/\<word\>

\<означає початок слова і \>означає кінець слова,

Додавання коментаря @ Roe:
VIM надає ярлик для цього. Якщо у вас вже є слово на екрані і ви хочете знайти інші його екземпляри, ви можете поставити курсор на слово і натиснути, '*'щоб шукати вперед у файлі або '#'шукати назад.


3
розміщення курсору над словом та натискання клавіші * (вперед) або # (назад) - це ярлик
falstro

1
чому це корисно проти просто робити: / word
jimh

3
@semja: скажімо, у вас є змінна 'data' та її дійсне вказівка ​​'data_valid'. Якщо я хочу шукати лише "дані", але не "дані_ недійсні", "/ дані" не виконають цю роботу. Мені потрібно сказати vim, де зупинити відповідність шаблону.
Натан Фелман

Це не в наступному прикладі: 1word1Див. Stackoverflow.com/a/22148017/2609994 для рішення.
LSchueler

Чи існує vimконфігурація, щоб змусити його шукати точне слово без загортання рядка пошуку \<та \<символів?
truthadjustr

77
  1. ім'я файлу vim
  2. натиснути /
  3. введіть слово, яке ви хочете шукати
  4. натисніть Enter

2
Чи може хтось пояснити, чому це, можливо, набрало голосів? Працювали для мене.
Кії

13
Тому що ОП попросили пошукати спеціально "word". Рішення розміщені тут в основному робить пошук %word%, незалежно від його thiswordisawesomeабо word56або 26word.
Jguy

9
Також тому, що ОП прямо заявив, що вони знають про /команду. Отже, ця відповідь зовсім не корисна.
cmaster - відновити моніку

27

Якщо ви працюєте в Ubuntu, виконайте наступні дії:

  1. Натисніть /і введіть слово для пошуку
  2. Для пошуку вперед натисніть клавішу "SHIFT" за допомогою *клавіші
  3. Для пошуку назад натисніть клавішу "SHIFT" за допомогою #клавіші

1
як я можу виділити слово, що шукається?
jorge saraiva

3
@jorgesaraiva: По-перше, ви, ймовірно, отримаєте відповідь швидше, задавши нове запитання (а не чекаючи, коли хтось натрапить на цей коментар 3 місяці після того, як ви його задали). По-друге, ви можете зробити це :set hlsу Vim, щоб виділити результат пошуку. Щоб вимкнути підсвічування, зробіть:set nohls
Натан Фелман

1
Це дійсно працює лише в тому випадку, якщо перший результат від виконання /wordточно саме wordзамістьword.+
пушкін

це не працює для мене в екземплярі AWS ubuntu 18.04. за допомогою Windows git-bash для ssh на сервер ubuntu, якщо це доречно. дивно.
CodingMatters

21

Для основного пошуку:

  • / pattern - пошук вперед для шаблону
  • ? шаблон - пошук назад
  • n - повторний пошук вперед
  • N - повторити назад

Деякі змінні, які ви можете встановити:

  • : set ignorecase - нечутливий до регістру
  • : встановити smartcase - використовувати футляр, якщо використовуються будь-які кришки
  • : set incsearch - показати збіг як пошук

3
Цього не вимагає ОП.
Усі робітники необхідні
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.