У меня есть сопоставления .vimrc
для открытия или переключения на часто используемые приложения.
Вариант использования: У меня открыто 10 приложений, и я в MacVim. Быстрее выдать, <Leader>sc
что сопоставлено с map <Leader>sc :silent !open /Applications/Google\ Chrome.app<CR>
, чем Command+Tab
несколько раз, чтобы добраться до приложения Chrome.
Однако vim имеет задержку с момента отправки мной команды <Leader>sc
до момента ее выполнения.
Как можно уменьшить эту задержку только для этого отображения?
Мне бы хотелось, чтобы это происходило так же мгновенно, как запуск open /Applications/Google\ Chrome.app
из командной строки, однако vim вносит небольшую задержку перед выполнением этой команды.
Редактировать: Я заметил, что есть timeoutlen
настройка, но она глобальная. Я бы хотел что-то похожее только для этих сопоставлений.
решение1
Вероятнее всего, это происходит потому, что у вас есть другое сопоставление, которое начинается с , <Leader>sc
и Vim ждет, чтобы увидеть, вводите ли вы просто более короткое сопоставление или собираетесь ввести другое, более длинное сопоставление.
Единственный способ обойти эту проблему — изменить одно из сопоставлений, чтобы Vim знал, что нет никакой двусмысленности, что должно привести к мгновенному выполнению команды.
Ввод « :map <leader>sc
» и нажатие Enter должны показать все сопоставления, которые начинаются с этой последовательности.
решение2
Вы не можете настроить timeoutlen
для определенных команд/сопоставлений в Vim. Вы, вероятно, могли бы сделать это для определенного буфера/окна/вкладки, но это все равно будет то же самое значение для любой команды/сопоставления в этом конкретном контексте.
Но я думаю, что задержка вызвана использованием open
здесь.
Почему бы вам не использовать Quicksilver? Я пользуюсь им уже много лет: он обеспечивает тот же механизм, в каком бы контексте я ни находился. Неважно, в Vim ли я, iTunes, Outlook или Preview, я могу нажать одну и ту же последовательность клавиш, чтобы переключиться на Chrome. Одна только эта вездесущность делает его для меня обязательным. Это и скорость <C-Space>c<CR>
.
В вашей системе вы могли бы теоретически сэкономить время, делая Vim > Chrome, но как вы делаете Chrome > Vim? AFAIK, вы не можете использовать его <leader>sv
в Chrome, поэтому вы должны прибегнуть к другому механизму. Это как минимум две системы для настройки и обслуживания или как минимум пользовательская очень эффективная и менее эффективная по умолчанию.