Ответ Canopus, вероятно, самый хороший способ сделать это, если вы используете это часто, но если вы хотите сделать это с помощью установки vanilla vim (или более того, без установки каких-либо плагинов), вы можете просто сделать :
:call matchadd('Search', 'foo')
:call matchadd('Search', 'bar')
Затем вы можете очистить все совпадения с помощью
:call clearmatches()
Есть также способы быть более разборчивыми в том, что вы очищаете (с помощью :call matchdelete(...)
), сохраняя вывод matchadd в переменную. Вы можете прочитать больше об этом в :help matchadd()
и :help matchdelete()
Если вы не используете слишком сложный файл синтаксиса (и, в частности, не используете подсветку rainbow.vim), вы, вероятно, также можете сделать это с помощью:
:syn keyword Search foo
:syn keyword Search bar
и очистите его с помощью
:syn clear Search
Единственное возможное преимущество, о котором я могу подумать, это то, что если вы пытаетесь выделить лот совпадений, выделение keyword
будет намного быстрее, чем match
выделить (так как последний использует поиск по регулярному выражению). Вы все еще можете сделать syn keyword
матч, если вы используете rainbow.vim, но команда намного сложнее.