.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
timeoutlen
Vim에서는 특정 명령/매핑을 조정할 수 없습니다 . 특정 버퍼/창/탭에 대해 그렇게 할 수 있지만 해당 특정 컨텍스트의 모든 명령/매핑에 대해서는 여전히 동일한 값입니다.
하지만 여기를 이용하기 때문에 지연이 발생한다고 생각합니다 open
.
Quicksilver를 사용하지 않는 이유는 무엇입니까? 저는 수년간 사용해 왔습니다. 제가 어떤 상황에 있든 동일한 메커니즘을 제공합니다. Vim, iTunes, Outlook 또는 Preview에서 Chrome으로 전환할 때 정확히 동일한 키 시퀀스를 입력할 수 있습니다. 이 편재성만으로도 그것은 나에게 꼭 필요한 것입니다. 그것과 <C-Space>c<CR>
.
시스템에서 Vim > Chrome을 수행하면 이론적으로 시간을 절약할 수 있지만 Chrome > Vim을 어떻게 수행합니까? AFAIK는 Chrome에서 사용할 수 없으므로 <leader>sv
다른 메커니즘을 사용해야 합니다. 설정하고 유지 관리해야 하는 시스템이 두 개 이상이거나 매우 효과적인 맞춤형 시스템과 덜 효과적인 기본 시스템이 있습니다.