Ich habe Zuordnungen in meinem System, .vimrc
um häufig verwendete Anwendungen zu öffnen oder zu ihnen zu wechseln.
Anwendungsfall: Ich habe 10 Anwendungen geöffnet und bin in MacVim. Es ist schneller, <Leader>sc
das zugeordnete auszugeben map <Leader>sc :silent !open /Applications/Google\ Chrome.app<CR>
, als Command+Tab
mehrmals zu , um zur Chrome-App zu gelangen.
Zwischen der Eingabe <Leader>sc
und der Ausführung der Aktion tritt jedoch eine Verzögerung durch vim auf.
Wie kann ich diese Verzögerung nur für diese Zuordnung reduzieren?
Ich möchte, dass dies genauso schnell geht wie die Ausführung open /Applications/Google\ Chrome.app
über die Befehlszeile, allerdings führt vim eine kleine Verzögerung ein, bevor es diesen Befehl ausführt.
Bearbeiten: Mir ist aufgefallen, dass es eine Einstellung gibt timeoutlen
, die allerdings global ist. Ich hätte gerne etwas Ähnliches nur für diese Zuordnungen.
Antwort1
Dies liegt höchstwahrscheinlich daran, dass Sie eine andere Zuordnung haben, die mit beginnt <Leader>sc
, und Vim wartet, ob Sie nur die kürzere Zuordnung eingeben oder ob Sie die andere, längere Zuordnung eingeben möchten.
Die einzige Möglichkeit, dieses Problem zu umgehen, besteht darin, eine der Zuordnungen zu ändern, sodass Vim erkennt, dass keine Mehrdeutigkeiten vorliegen. Dies sollte dazu führen, dass der Befehl sofort ausgeführt wird.
Wenn Sie " :map <leader>sc
" eingeben und die Eingabetaste drücken, sollten Ihnen alle Zuordnungen angezeigt werden, die mit dieser Sequenz beginnen.
Antwort2
Sie können in Vim keine Anpassungen timeoutlen
für bestimmte Befehle/Zuordnungen vornehmen. Sie könnten das wahrscheinlich für einen bestimmten Puffer/ein bestimmtes Fenster/eine bestimmte Registerkarte tun, aber es wäre trotzdem derselbe Wert für jeden Befehl/jede Zuordnung in diesem bestimmten Kontext.
Ich denke aber, dass die Verzögerung durch die Verwendung open
hier verursacht wird.
Warum verwenden Sie nicht Quicksilver? Ich verwende es seit Jahren: Es bietet in jedem Kontext den gleichen Mechanismus. Egal, ob ich in Vim, iTunes, Outlook oder Preview bin, ich kann genau dieselbe Tastenkombination eingeben, um zu Chrome zu wechseln. Allein diese Allgegenwärtigkeit macht es für mich zu einem Muss. Das und die Geschwindigkeit von <C-Space>c<CR>
.
In Ihrem System könnten Sie theoretisch Zeit sparen, wenn Sie Vim > Chrome verwenden, aber wie verwenden Sie Chrome > Vim? Soweit ich weiß, können Sie <leader>sv
Chrome nicht verwenden, also müssen Sie auf einen anderen Mechanismus zurückgreifen. Das bedeutet, dass Sie mindestens zwei Systeme einrichten und warten müssen oder zumindest ein sehr effektives benutzerdefiniertes und ein weniger effektives Standardsystem.