Mam w sobie mapowania, które .vimrc
można otworzyć lub przełączyć na często używane aplikacje.
Przypadek użycia: Mam 10 otwartych aplikacji i korzystam z MacVim. Szybciej jest rozwiązać problem, <Leader>sc
który jest zamapowany map <Leader>sc :silent !open /Applications/Google\ Chrome.app<CR>
, niż Command+Tab
kilka razy, aby przejść do aplikacji Chrome.
Vim ma jednak opóźnienie od momentu wydania <Leader>sc
do wykonania akcji.
Jak mogę zmniejszyć to opóźnienie tylko dla tego mapowania?
Chciałbym, aby było tak natychmiastowe, jak uruchamianie open /Applications/Google\ Chrome.app
z wiersza poleceń, jednak vim wprowadza niewielkie opóźnienie przed wykonaniem tego polecenia.
Edycja: Zauważyłem, że istnieje timeoutlen
ustawienie, jednak ma ono charakter globalny. Chciałbym coś podobnego tylko dla tych mapowań.
W
timeoutlen
Vimie nie można dostosowywać określonych poleceń / mapowań. Prawdopodobnie można to zrobić dla określonego bufora / okna / karty, ale nadal będzie to ta sama wartość dla dowolnego polecenia / odwzorowania w tym konkretnym kontekście.Ale myślę, że opóźnienie jest spowodowane użyciem
open
tutaj.Dlaczego nie używasz Quicksilver? Używam go od lat: zapewnia ten sam mechanizm, niezależnie od kontekstu, w jakim się znajduję. Bez względu na to, czy korzystam z Vima, iTunes, Outlooka czy Preview, mogę wpisać dokładnie tę samą sekwencję klawiszy, aby przejść do Chrome. Już sama ta wszechobecność sprawia, że muszę ją mieć. To i prędkość
<C-Space>c<CR>
.W swoim systemie teoretycznie możesz zaoszczędzić czas, robiąc Vima> Chrome, ale jak to zrobić Chrome> Vim? AFAIK, którego nie możesz używać
<leader>sv
w Chrome, więc musisz skorzystać z innego mechanizmu. To co najmniej dwa systemy do skonfigurowania i utrzymania lub przynajmniej niestandardowy bardzo skuteczny i domyślnie mniej skuteczny.źródło