Ich sehe ziemlich oft Webseiten mit Links zu Dateien, die ich direkt in gVim öffnen möchte (beim Surfen mit Firefox unter Windows). Chrome-spezifische Antwort - auch gut zu haben.
Beim Versuch, dies zum Laufen zu bringen, habe ich mit den Tools > Options > Applications
Einstellungen von Firefox herumgespielt (wo anhand des MIME-Typs ausgewählt wird, was zu tun ist). Umsonst. Bei den meisten dieser Dateien (z. B. Python-Quelldateien) wird durch Klicken auf diese Dateien das Dialogfeld "Dateiname.py öffnen" mit den Optionen "Öffnen mit", "Datei speichern" und anderen Optionen geöffnet. Gegen "Öffnen mit" kann ich aus einer Dropdown-Liste "Andere ..." auswählen und ich erhalte den Dialog "Hilfsprogramm auswählen". Nun, „Vi Improved - Ein Text - Editor“ wird in dieser Liste erscheinen für mich, aber das Problem ist , dass es öffnet sich die Auswahl vim.exe
in einem Shell - Fenster, während ich möchte sehen ,gVim.exe
. In der "Hilfsprogramm auswählen" kann ich "Durchsuchen ..." auswählen und zum Verzeichnis von Vim navigieren, "gvim.exe" auswählen und dann funktioniert es. Aber für die nächste Datei merkt es sich diese Einstellung nicht und ich muss alles noch einmal machen.
Wie kann ich es dort festhalten oder auf eine andere Art und Weise Dateien in gVim öffnen?
Beim Lesen von Firefox-Fehlerberichten stellte ich fest, dass das Dialogfeld "Hilfsprogramm auswählen" auf der Grundlage des MIME-Typs der angegebenen Datei ausgefüllt ist. Sofern der Benutzer keine Einstellungen geändert hat, wird dies aus der Windows-Registrierung übernommen. Ich möchte jedoch in der Lage sein, jede Datei mit gVim zu öffnen. Daher ist es für mich keine gute Lösung, für jede Erweiterung, die ich möglicherweise öffnen möchte, die Standardeinstellung in Windows festzulegen.
Antworten:
Zunächst basiert Firefox die Einstellungen in "Choose Helper Application" auf den Systemeinstellungen, so dass es keine einfache Möglichkeit gibt, dies zu konfigurieren.
Noch besser ist es, die Firefox-Erweiterung "Open With" zu verwenden: https://addons.mozilla.org/en-US/firefox/addon/open-with/
Es heißt, es sei für Webbrowser, aber es könnte sich um ein beliebiges Programm handeln - es ruft nur das Programm mit der URL als erstes Argument auf.
Als nächstes habe ich ein Python-Skript geschrieben:
Was es macht:
Erstellt einen eindeutigen Dateinamen im Temp-Verzeichnis des Benutzers (derselbe Ort, an dem Firefox in solchen Fällen Dateien speichert).
Stellt sicher, dass die Erweiterung der temporären Datei auch bei einer URL mit Abfragezeichenfolgen und Hash-Ankern sinnvoll ist (
urlretrieve(..)
ohne ein zweites Argument wird die erstere behandelt, aber nicht die letztere). Dies ist nützlich, da es Vim mitteilt, wie die Datei syntaktisch hervorgehoben werden soll.Lädt die Datei von der URL in das
Temp
Verzeichnis des aktuellen Benutzers herunter .Öffnet die Datei mit
gvim.exe
(oder einem Editor Ihrer Wahl - siehe unten).So verwenden Sie diese Lösung:
Speichern Sie das obige Python-Skript an einem
open_with.py
Ort, an dem Sie solche Skripte aufbewahren.Installieren Sie die Open With Firefox-Erweiterung unter dem obigen Link und starten Sie Firefox neu.
Gehe zu
Tools > Add-ons > Extensions > Open With > Options
. Dort:(ein). (Sofern Sie Open With nicht für den vorgesehenen Zweck verwenden möchten, "verstecken" Sie alle Browser in der Liste.)
(b). "Hinzufügen ..."
python.exe
.(c). Setzen Sie die "Argumente ..." auf den Pfad des Skripts, gefolgt vom ausführbaren Dateinamen oder Pfad des Editors. Für mich wäre das
C:\E\infrastructure\open_with.py gvim.exe
(d). "Umbenennen ..." in "gVim".
Stellen Sie sicher, dass
gvim.exe
sich das in der PATH-Variablen befindet. Ich empfehle das EditPATH-Autohotkey-Skript , das mit AHK-Tools auf eine EXE- Datei kompiliert werden kann. (Platzieren Sie esQuick Launch
zur Vereinfachung in den Ordner. Das Bearbeiten von PATH wird zu drei Klicks, anstatt den Speichertest der Systemsteuerung erneut durchführen zu müssen.) Andernfalls müssen Sie es ausführen Geben Sie den gesamten Pfad vongvim.exe
Schritt 3 (c) an.Das ist es. Suchen Sie nun in Firefox einen Link zu einer Datei, klicken Sie mit der rechten Maustaste darauf und wählen Sie "Link mit gVim öffnen".
(Ratet mal, wie ich dort das richtige Symbol gefunden habe :)
Bonus: Wenn Sie die entsprechende Einstellung in den Optionen der Erweiterung " Öffnen mit " festlegen , können Sie mit der rechten Maustaste auf eine Firefox-Registerkarte klicken und (die meisten) Webseiten auch in Vim öffnen - dh wie "Quelltext anzeigen", außer mit Vim.
Beachten Sie, dass diese Lösung auch für Emacs, Notepad ++ und viele andere Programme gilt, die nicht auf Texteditoren beschränkt sind. Zum Beispiel habe ich es gerade mit The GIMP versucht und es öffnete eine PNG-Datei. (Ersetzen Sie dazu den
gvim.exe
obigen Pfad durch den Pfad zu GIMP. Hinweis: Wenn Sie ein beliebiges Bild auf diese Weise und nicht nur einen Link öffnen möchten, können Sie das Bild anzeigen und dann mit der rechten Maustaste auf dessen Registerkarte klicken.)Historischer Hinweis: Anfangs habe ich versucht, ein BAT-Skript zu schreiben, aber das wurde unhaltbar, nachdem es in diesem Testfall fehlgeschlagen war: http://evgeni.org/w/api.php?format=xml&action=query&titles=AutoHotkey_shortcuts&prop=revisions&rvprop=content
That weil
cmd.exe
es Probleme mit Argumenten gibt, die das=
Zeichen enthalten. Darüber hinaus ging es nicht nur darum,gvim.exe
die URL als Befehlszeilenargument aufzurufen (obwohl Vim URLs akzeptiert), da dieser Testfall nicht verarbeitet werden kann. Es wird lediglich eine leere Instanz von Vim geöffnet. Und um die URL zu analysieren, müsste ich auf Powershell zurückgreifen, was die Portabilität der Lösung etwas einschränkt. Am Ende entschied ich, dass eine Installation von Python nicht allzu viel verlangt.quelle