Vim reduziert die Verzögerung nach der Ausgabe eines Befehls

Vim reduziert die Verzögerung nach der Ausgabe eines Befehls

Ich habe Zuordnungen in meinem System, .vimrcum 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>scdas zugeordnete auszugeben map <Leader>sc :silent !open /Applications/Google\ Chrome.app<CR>, als Command+Tabmehrmals zu , um zur Chrome-App zu gelangen.

Zwischen der Eingabe <Leader>scund 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 timeoutlenfü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 openhier 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>svChrome 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.

verwandte Informationen