Vim은 명령을 내린 후 지연을 줄입니다.

Vim은 명령을 내린 후 지연을 줄입니다.

.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편집: 전역 설정이 있다는 것을 알았습니다 . 나는 이러한 매핑에 대해서만 비슷한 것을 원합니다.

답변1

<Leader>sc이는 다음으로 시작하는 다른 매핑이 있고 Vim이 사용자가 더 짧은 매핑을 입력하고 있는지, 아니면 더 긴 다른 매핑을 입력하려고 하는지 확인하기를 기다리고 있기 때문일 가능성이 높습니다 .

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

" :map <leader>sc"를 입력하고 Enter 키를 누르면 해당 시퀀스로 시작하는 모든 매핑이 표시됩니다.

답변2

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

하지만 여기를 이용하기 때문에 지연이 발생한다고 생각합니다 open.

Quicksilver를 사용하지 않는 이유는 무엇입니까? 저는 수년간 사용해 왔습니다. 제가 어떤 상황에 있든 동일한 메커니즘을 제공합니다. Vim, iTunes, Outlook 또는 Preview에서 Chrome으로 전환할 때 정확히 동일한 키 시퀀스를 입력할 수 있습니다. 이 편재성만으로도 그것은 나에게 꼭 필요한 것입니다. 그것과 <C-Space>c<CR>.

시스템에서 Vim > Chrome을 수행하면 이론적으로 시간을 절약할 수 있지만 Chrome > Vim을 어떻게 수행합니까? AFAIK는 Chrome에서 사용할 수 없으므로 <leader>sv다른 메커니즘을 사용해야 합니다. 설정하고 유지 관리해야 하는 시스템이 두 개 이상이거나 매우 효과적인 맞춤형 시스템과 덜 효과적인 기본 시스템이 있습니다.

관련 정보