Всплывающее количество результатов поиска.
Требуется Vim 8.2.0896 или новее. Неовим не поддерживается.
Если вы используете vim-plug, добавьте в vimrc следующую строку:
Plug ' obcat/vim-hitspop '
Вы можете использовать любой другой менеджер плагинов.
Для работы этого плагина должна быть включена опция hlsearch
:
set hlsearch
Это все, что вам нужно настроить. Если вы запустите команду поиска, например /foo
, появится всплывающее окно и покажет вам количество результатов поиска, например foo 3 of 7
.
Когда вы прекратите выделение, всплывающее окно закроется автоматически.
Выделение можно остановить командой nohlsearch
. Чтобы быстро выполнить эту команду, вы можете настроить следующую карту:
nnoremap <silent> <ESC><ESC> : <C-u> nohlsearch <CR>
Вы также можете использовать функцию nohlsearch плагина is.vim, чтобы автоматически остановить выделение. Подробности смотрите по ссылке.
Точнее, всплывающее окно закроется, когда после остановки выделения произойдет одно из следующих событий:
updatetime
истекло. Значение updatetime
по умолчанию — 4000
, т.е. 4 секунды. Если вы хотите закрыть всплывающее окно как можно скорее после прекращения выделения, уменьшите значение этой опции. Я предлагаю около 100 мс:
set updatetime = 100
Обратите внимание, что updatetime
также управляет задержкой перед тем, как Vim запишет свой файл подкачки (см :h updatetime
).
Вы можете настроить некоторые функции.
По умолчанию всплывающее окно отображается в правом верхнем углу текущего окна. Если вы хотите отобразить всплывающее окно, например, в левом нижнем углу текущего окна, используйте это:
let g: hitspop_line = ' winbot '
let g: hitspop_column = ' winright '
Вы также можете указать другие позиции. Пожалуйста, обратитесь к файлу справки для получения дополнительной информации.
Цвет всплывающего окна можно изменить, установив следующие группы выделения:
hitspopNormal
(по умолчанию: ссылки на Pmenu
)hitspopErrorMsg
(по умолчанию: ссылки на Pmenu
)Пример:
highlight link hitspopErrorMsg ErrorMsg
Для цветовой схемы я использую Iceberg.vim.
Лицензия МТИ.