Domyślnie, jeśli bufor w vimie zawiera adres URL taki jak http://www.google.com
, gxw trybie normalnym otworzy przeglądarkę z tym adresem URL. To bardzo przydatne. Jeśli jednak adres URL ma parametry adresu URL (np. http://www.google.com/search?q=stuff
), Wówczas parametry adresu URL są pomijane (tzn. Po prostu http://www.google.com/search
są otwierane).
Używam MacVim 7.4 łatka 183, z Chrome jako podstawową przeglądarką (w OS X 10.9).
Czy istnieje prosty sposób, najlepiej przy minimalnym dostosowaniu, aby gxrozpoznać pełny adres URL?
external-command
netrw
Andrew Ferrier
źródło
źródło
gx
(co nie jest idealne, ale lepsze niż kopiowanie / wklejanie ).let
.gx
..vimrc
), z różnymi terminalami (urxvt
,sakura
) i różnymi przeglądarkami (g:netrw_browsex_viewer
ustawione na'uzbl-browser'
/'firefox'
/'google-chrome'
.Odpowiedzi:
Jak wskazuje @Carpetsmoker w swoim komentarzu,
g:netrw_gx
określa, co będzie uważane za część identyfikatora URI.Domyślnie jest ustawiony na
"<cfile>"
. Z docs (:help <cfile>
):<cfile> is replaced with the path name under the cursor
Ucieka mi to, dlaczego części parametrów (tj.
?
) Adresu URL są ignorowane jako części „nazwy ścieżki”, ale ostatecznie zdecydowałem się ustawić następujące rozwiązanie:Teraz obejmuje to wszystko
W
, co by wybrał. (SpróbujviW
w VIM.)Z dokumentów:
<cWORD> is replaced with the WORD under the cursor
Wskazówka:
gx
W trybie wizualnym otworzy wizualnie wybrany ciąg (niezależnie od powyższej konfiguracji).źródło
/
, jest najpierw pobierany (zcurl
), a następnie otwierany. Po usunięciu końcowego/
URI jest otwierany bezpośrednio w przeglądarce.'isfname'
opcję, która?
domyślnie nie zawiera prawidłowego znaku nazwy pliku. Zmiana tej opcji wymaga ostrożności, ponieważ nie można jej ustawić lokalnie dla bufora. O ile NetRW nie zmieni tej opcji, to wyjaśnia, dlaczego adresy URL PO nie działajągx
. Być może istnieje różnica w zastosowanych wersjach NetRW, co tłumaczy różne zachowanie, które widzi Carpetsmoker.