Vimperator-Tastenbindung, erfordert zusätzlichen Tastendruck

367
mellowmaroon

Ich bin wirklich neu in Vim / Vimscript und versuche, meine .vimperatorrc so zu konfigurieren, dass sie genauso ausgeführt wird wie beim Ausführen :open google search-term.

Beim Lesen sieht es so aus, als ob ich brauche nnoremap g :open google<Space>. Es funktioniert fast, aber das Fenster erscheint erst, wenn ich eine andere Taste drücke.

Gibt es noch etwas, was ich tun muss? Um es klar zu machen, möchte ich, dass es im Grunde dasselbe tut, aber kein zusätzlicher Tastendruck erforderlich ist, um das Suchfenster zu öffnen.

0

1 Antwort auf die Frage

1
trailing slash

Wenn Sie versuchen, ein Mapping zu verwenden, und es wird gezögert, bevor in der Befehlszeile etwas angezeigt wird, kann dies darauf hinweisen, dass Vimperator mehr Optionen bietet, als Sie bisher gedrückt haben. Es wartet auf weitere Tastendrücke, um zu sehen, ob die Mehrdeutigkeit aufgelöst wird, indem entweder A) ein Mapping mit mehr Zeichen (wo keine verbleibenden Mehrdeutigkeiten vorhanden sind) oder B) mit nichts anderem übereinstimmt und somit das kürzere Mapping verwendet wird, das übereinstimmt. Ich werde es zuerst anhand von Beispielen mit einem Leiterschlüssel demonstrieren und dann auf Ihre spezifische Frage zurückkommen.

Nehmen wir an, Sie haben Folgendes in Ihrer .vimperatorrcDatei (und nehmen an, dass Ihr Führungsschlüssel der Standard ist \(siehe :h mapleader)):

nnoremap <leader>g :open google<space> 

Sobald Sie mit der Eingabe fertig sind \g, :open googlewerden Sie wie erwartet angezeigt. Nehmen wir an, Sie haben folgendes in Ihrem .vimperatorrc:

nnoremap <leader>g :open google<space> nnoremap <leader>gw :open google wiki<space> 

Nach der \gEingabe geschieht nichts sichtbar (es sei denn, Sie sehen ganz links neben der aktuellen URL, die zeigt, wie Sie den Befehlsmodus drücken, wenn Sie sie eingeben). Dies liegt daran, dass Vimperator nicht sicher ist, ob Sie dieses \gMapping wünschen oder ob Sie auch a drücken möchten, wum das \gwMapping abzuschließen . In diesem Szenario können Sie den Befehl eingeben :nmap \g(noch nicht drücken <enter>), und Sie sehen diese beiden Zuordnungen.

In Ihrem Szenario ordnen Sie jedoch den Charakter zu g. Vimperator hat viele Aktionen, die mit Tastenkombinationen verbunden sind, die mit dem Buchstaben beginnen g. Zum Beispiel ist gt& gT"zum nächsten / vorherigen Tab wechseln". (Da es sich hierbei um Standard-Tastenkombinationen handelt, werden sie nicht angezeigt, wenn Sie den Befehl :nmap geingeben.) Es kann möglich sein, die Zuordnung aller Standardzuordnungen aufzuheben g[another character], dies wäre jedoch unorthodox und wahrscheinlich ungesund. Um Kollisionen mit Standard-Tastenkombinationen zu vermeiden, empfiehlt Konvention, dass Sie den Führerschlüssel mit Ihren benutzerdefinierten Zuordnungen verwenden (siehe oben).