Я использую Firefox сВимператорПлагин эмулятора Vim, но вместо использования его /
клавиши для поиска я предпочитаю использовать обычную встроенную панель поиска, вызываемую с помощью Ctrl-F
.
Проблема в том, что если Vimperator включен, то когда я нажимаю Esc
на панель поиска после завершения поиска, панель поиска не исчезает (как это было бы, если бы Vimperator был отключен), потому что Vimperator перехватывает Esc
сопоставление.
Итак, мой вопрос: как сделать так, чтобы панель поиска исчезала, как это обычно происходит, когда я нажимаю Esc
клавишу?
решение1
При включенном vimperator набор текста i+CTRL+f
вызовет панель поиска. И ее также легко закрыть.
Попробуйте эту команду:
:js document.getElementById("FindToolbar").close();
Или создайте карту: (Добавьте следующие строки в '~/.vimperatorrc')
noremap <c-s-f> :js document.getElementById("FindToolbar").close();<cr>
inoremap <c-s-f> <esc>:js document.getElementById("FindToolbar").close();<cr>
Таким образом, набор текста CTRF+SHIFT+f
работает просто великолепно!
Дополнительное примечание:
CTRL+f
в командном режиме выведет панель поиска. В то время как CTRL-b
выведет боковую панель закладок. Вот почему я столкнулся с этой проблемой. Так что некоторые другие сопоставления могут быть полезны:
cnoremap <c-f> <right>
cnoremap <c-b> <left>
Обновления:
Начиная с Gecko 1.9(Firefox 25), используйте эту команду:
:js getBrowser().getFindBar().close()
решение2
Добавьте следующее сопоставление в ~/.vimperatorrc
файл конфигурации Vimperator:
inoremap <Esc> <S-Esc><Esc><S-Esc>
И обязательно перезапустите Firefox, чтобы изменения вступили в силу.
Под капотом он делает следующее: отключает перехват клавиш Vimperator, передает Esc
клавишу в Firefox (который закрывает панель поиска), включает перехват клавиш Vimperator обратно, в этом порядке. Обратите внимание, что это сопоставление не относится только к панели поиска, оно применяется ко всем insert mode
формам (любой текстовой области, где вы можете ввести какой-либо ввод), но это, скорее всего, то, что вам в любом случае нужно.