Vim уменьшить задержку после подачи команды

Vim уменьшить задержку после подачи команды

У меня есть сопоставления .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, поэтому вы должны прибегнуть к другому механизму. Это как минимум две системы для настройки и обслуживания или как минимум пользовательская очень эффективная и менее эффективная по умолчанию.

Связанный контент