Vim zmniejsza opóźnienie po wydaniu polecenia

3

Mam w sobie mapowania, które .vimrcmoż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>scktóry jest zamapowany map <Leader>sc :silent !open /Applications/Google\ Chrome.app<CR>, niż Command+Tabkilka razy, aby przejść do aplikacji Chrome.

Vim ma jednak opóźnienie od momentu wydania <Leader>scdo 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.appz wiersza poleceń, jednak vim wprowadza niewielkie opóźnienie przed wykonaniem tego polecenia.

Edycja: Zauważyłem, że istnieje timeoutlenustawienie, jednak ma ono charakter globalny. Chciałbym coś podobnego tylko dla tych mapowań.

Jey Balachandran
źródło

Odpowiedzi:

3

Jest to najprawdopodobniej spowodowane tym, że masz inne mapowanie, które zaczyna się od, <Leader>sca Vim czeka, czy po prostu wpisujesz krótsze mapowanie, czy zamierzasz wpisać inne, dłuższe mapowanie.

Jedynym sposobem obejścia tego problemu jest zmiana jednego z mapowań, aby Vim wiedział, że nie ma dwuznaczności, co powinno spowodować natychmiastowe uruchomienie polecenia.

Wpisanie „ :map <leader>sc” i naciśnięcie Enter powinno pokazać wszystkie mapowania rozpoczynające się od tej sekwencji.

Heptyt
źródło
Sprawdziłem, a jedynym mapowaniem jest to, które zdefiniowałem.
Jey Balachandran
W takim razie wszystko, co mogę zasugerować, to przenieść rzeczy z konfiguracji Vima na bok, dopóki nie będziesz już mieć opóźnienia. Czy to konsola Vim czy gVim? (Oba?)
Heptyt
0

W timeoutlenVimie 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 opentutaj.

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>svw 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.

romainl
źródło