Autohotkey, ac’tivAid und Vimperator

Autohotkey ist eine Windows-Scripting-/Automatisierungs-Lösung. ac’tivAid ist ein darauf basierendes Projekt des Heise-Verlags, das den Umgang mit Autohotkey vereinfacht und einige grundlegende und nützliche fertige Skripte zur Verfügung stellt. vimperator ist ein Firefox-Plugin welches VIM-ähnliches Verhalten im Browser ermöglicht.

Leider wird in Verbindung mit vimperator die spezielle ac’tivAid-Variable %Selection% nicht befüllt.

Grund dafür ist, daß ac’tivAid intern in der Funktion func_GetSelection (die %Selection befüllt) ein Ctrl-C an die aktive Applikation sendet, um so über die Zwischenablage an die aktuelle Auswahl zu kommen (irgendwie auch ein Hack…). Mit Ctrl-C ist in vimperator aber “Abbrechen” verbunden und nicht die Funktion “in die Zwischenablage kopieren”. “In die Zwischenablage kopieren” ist in Vimperator im Normal-Mode mit “Y” möglich.

Das Problem kann man auf verschiedene Arten lösen:

  • Anpassen von func_GetSelection, sodaß bei Vimperator “Y” verwendet wird (ähnlich zu der Spezialbehandlung von Putty oder Adobe).
  • Anpassen von func_GetSelection, sodaß bei Vimperator vor dem Ctrl-C ein “Ctrl-V” gesendet wird. Ctrl-V sorgt dafür, daß die Vimperator-Keybindings für den nächsten Tastendruck ausgeschaltet und an den Firefox durchgereicht werden.
  • Anpassen der Vimperator-Konfiguration, sodaß ein Druck auf Ctrl-C tatsächlich zuerst ein Ctrl-V vorausschickt. Das ist mit einem Eintrag noremap <C-c> <C-v> <C-c> in der vimperatorrc möglich.