Wenn ein Puffer in vim eine URL wie enthält http://www.google.com
, wird gxim normalen Modus standardmäßig ein Browser mit dieser URL geöffnet. Das ist sehr praktisch. Wenn die URL jedoch URL-Parameter enthält (z. B. http://www.google.com/search?q=stuff
), werden die URL-Parameter übersehen (dh nur http://www.google.com/search
geöffnet).
Ich verwende MacVim 7.4 Patch 183 mit Chrome als primärem Browser (unter OS X 10.9).
Gibt es eine einfache Möglichkeit, idealerweise mit minimaler Anpassung, gxeine vollständige URL zu erkennen?
external-command
netrw
Andrew Ferrier
quelle
quelle
gx
(was nicht ideal ist, aber besser als Kopieren / Einfügen) ).let
.gx
..vimrc
), mit verschiedenen Terminals (urxvt
,sakura
) und verschiedenen Browsern (g:netrw_browsex_viewer
eingestellt auf'uzbl-browser'
/'firefox'
/'google-chrome'
.Antworten:
Bestimmt, wie @Carpetsmoker in seinem Kommentar ausführt,
g:netrw_gx
was als Teil eines URI betrachtet wird.Standardmäßig ist es auf eingestellt
"<cfile>"
. Aus den Dokumenten (:help <cfile>
):<cfile> is replaced with the path name under the cursor
Es entgeht mir, warum Parameterteile (dh
?
) einer URL als Teile eines "Pfadnamens" ignoriert werden, aber ich entschied mich schließlich dafür, Folgendes als meine Lösung festzulegen:Nun schließt dies alles ein,
W
was ausgewählt werden soll. (Probieren SieviW
einen String in VIM aus.)Aus den Dokumenten:
<cWORD> is replaced with the WORD under the cursor
Hinweis:
gx
Im visuellen Modus wird die visuell ausgewählte Zeichenfolge geöffnet (unabhängig von der obigen Konfiguration).quelle
/
, wird er zuerst heruntergeladen (mitcurl
) und dann geöffnet. Durch Entfernen des Trailings/
wird der URI direkt im Browser geöffnet.'isfname'
Option definiert , die?
standardmäßig kein gültiges Dateinamenzeichen enthält. Das Ändern dieser Option erfordert Sorgfalt, da sie nicht lokal für den Puffer festgelegt werden kann. Wenn NetRW diese Option nicht ändert, erklärt dies, warum die OPs-URLs nicht funktionierengx
. Vielleicht gibt es einen Unterschied in den verwendeten NetRW-Versionen, der das unterschiedliche Verhalten von Carpetsmoker erklären würde.