UPDATE: voll funktionsfähige Lösung (siehe Antwort unten)
Integrierte Lösung: defekt?
Es gibt tatsächlich eine Taste Ctrl+, Tdie das nächste Mapping in einem neuen Tab ausführen soll. Für mich funktioniert das aber überhaupt nicht. Ich weiß nicht warum.
Es gibt auch den Ex-Befehl tab
, der dasselbe für den nächsten Ex-Befehl ausführt. Es scheint jedoch nicht richtig mit Verlaufsbefehlen zu funktionieren. Es kopiert die Registerkarte, geht aber nicht zurück.
Zweistufige Lösung
Sie können dies erreichen, indem Sie zwei Befehle kombinieren:
tabduplicate
(odertabdu
) dupliziert die aktuelle Registerkarte, wobei der Verlauf erhalten bleibt.Sie können es an einen Schlüssel binden, indem Sie Ihrer .pentadactylrc-Datei eine solche Zeile hinzufügen:
map -g user -ex C :tabduplicate
Hund Lsind hin und her, wie du erwähnt hast.
Wenn Sie also die obige Beispielbindung verwenden, können Sie CHdie vorherige Seite in einer neuen Registerkarte öffnen.
Hinweis: Position der neuen Registerkarten.
Ein wichtiger Nachteil ist, dass diese Methode je nach Ihren Einstellungen die neue Registerkarte an einer anderen Stelle öffnet, als Sie mit der rechten Maustaste auf die Verlaufsschaltflächen klicken. Der Coben definierte Befehl öffnet die Registerkarte am Ende der Registerkartenleiste und nicht nach der aktuellen Registerkarte.
Wenn Sie möchten, dass die Registerkarten neben der aktuellen Registerkarte geöffnet werden, können Sie mit einer Erweiterung alle neuen Registerkarten nach der aktuellen Registerkarte öffnen . Tab Mix Plus ist eine beliebte Wahl.
Erster Versuch einer Single-Command-Lösung.
Ich habe Probleme beim Versuch, einen einzelnen Befehl zu erhalten, um eine Registerkarte zu duplizieren und dann vorwärts oder rückwärts zu navigieren. Es ist jedoch einfach, eine Registerkarte im Hintergrund zu duplizieren und dann auf der ursprünglichen Registerkarte vorwärts oder rückwärts zu navigieren.
Dies hat größtenteils den gleichen Effekt, mit der Ausnahme, dass die Positionen der beiden Registerkarten geändert werden: Sie gehen zurück in die Historie, in der Sie sich befinden, und die Registerkarte im ursprünglichen Zustand bleibt dort, wo neue Registerkarten geöffnet sind. Sie sollten dies wahrscheinlich nur in Betracht ziehen, wenn Sie eine Erweiterung verwenden, um alle neuen Registerkarten neben der aktuellen Registerkarte zu öffnen.
map -g user -ex [t :execute "tabduplicate! | back" map -g user -ex ]t :execute "tabduplicate! | forward"
Dann können Sie die vorherige Seite in einem neuen Tab mit öffnen [t(Sie können eine Einbuchstaben-Tastenkombination verwenden, wenn Sie eine haben).
UPDATE: Voll funktionsfähige Javascript-Lösung
Ich habe dies jetzt mit einem Javascript-Befehl ausgeführt. Das Problem bei meinen früheren naiven Versuchen bestand darin, dass sie vor der Verfügbarkeit der Geschichte versuchten, in die Geschichte zurückzukehren. Nach einiger Recherche habe ich das Problem mit einem Ereignis-Listener gelöst.
Der Code ist in diesem Gist enthalten (Update: Vimperator-Version ). Enthalten Sie es entweder direkt in Ihrer .pentadactylrc-Datei, oder speichern Sie es separat (vorzugsweise im .pentadactyl-Verzeichnis) und beziehen Sie es von .pentadactylrc. z.B.
:source "~/.pentadactyl/backt-forwardt.penta"
Dann können Sie ghund verwenden gl, um dieselben Ergebnisse zu erzielen wie das mittlere Klicken auf die Vor- / Zurück-Schaltflächen.