Vim은 명령을 내린 후 지연을 줄입니다. MacVim에 있습니다. Chrome 앱에

.vimrc에서 일반적으로 사용되는 응용 프로그램을 열거 나 전환하기위한 매핑이 있습니다 .

사용 사례 : 10 개의 열린 응용 프로그램이 있고 MacVim에 있습니다. Chrome 앱에 도착하는 것보다 여러 번에 <Leader>sc매핑 된 문제가 더 빠릅니다 .map <Leader>sc :silent !open /Applications/Google\ Chrome.app<CR>Command+Tab

그러나 발행 시점부터 <Leader>sc조치를 실행할 때 까지 vim에 의한 지연 이 있습니다.

이 매핑에 대해서만이 지연을 어떻게 줄일 수 있습니까? open /Applications/Google\ Chrome.app명령 줄에서
실행하는 것처럼 즉각적으로 실행하고 싶지만 vim은 해당 명령을 실행하기 전에 약간의 지연이 발생합니다.

편집 : timeoutlen설정 이 있음을 알았지 만 전역 설정입니다. 이 매핑에 대해서만 비슷한 것을 원합니다.



답변

이것은 아마도 다른 매핑으로 시작 <Leader>sc하고 Vim이 더 짧은 매핑을 입력하고 있는지 또는 다른 더 긴 매핑을 입력하려고하는지 기다리고 있기 때문일 가능성이 높습니다 .

이 문제를 해결할 수있는 유일한 방법은 매핑 중 하나를 변경하여 Vim이 모호함이 없음을 인식하여 즉시 명령을 실행하도록하는 것입니다.

:map <leader>sc“를 입력하고 Enter를 누르면 해당 순서로 시작하는 모든 맵핑이 표시됩니다.


답변

timeoutlenVim에서는 특정 명령 / 매핑을 조정할 수 없습니다 . 특정 버퍼 / 창 / 탭에 대해 그렇게 할 수는 있지만 해당 특정 컨텍스트의 모든 명령 / 매핑에 대해 여전히 동일한 값입니다.

그러나 지연은 open여기서 사용하여 발생한다고 생각합니다 .

왜 Quicksilver를 사용하지 않습니까? 몇 년 동안 사용해 왔습니다. 상황에 상관없이 동일한 메커니즘을 제공합니다. Vim, iTunes, Outlook 또는 Preview에 있든 Chrome과 정확히 동일한 키 시퀀스를 입력 할 수 있습니다. 이 편재성만으로도 제게 꼭 필요한 것입니다. 그것과 속도 <C-Space>c<CR>.

시스템에서 Vim> Chrome을 수행 할 때 이론적으로 시간을 절약 할 수 있지만 Chrome> Vim을 어떻게 수행합니까? AFAIK <leader>sv는 Chrome에서 사용할 수 없으므로 다른 메커니즘을 사용해야합니다. 그것은 적어도 두 개의 시스템을 설정하고 유지하거나 최소한 사용자 정의 매우 효과적인 시스템이며 기본적으로 덜 효과적인 시스템입니다.


답변