Secara default, jika buffer dalam vim berisi URL seperti itu http://www.google.com
, gxdalam mode normal akan membuka browser dengan URL itu. Itu sangat berguna. Namun, jika URL memiliki parameter URL (mis. http://www.google.com/search?q=stuff
), Maka parameter URL terlewatkan (yaitu baru http://www.google.com/search
dibuka).
Saya menggunakan MacVim 7.4 patch 183, dengan Chrome sebagai browser utama (pada OS X 10.9).
Apakah ada cara mudah, idealnya dengan kustomisasi minimal, untuk membuat gxmengenali URL lengkap?
external-command
netrw
Andrew Ferrier
sumber
sumber
gx
(yang tidak ideal tetapi lebih baik daripada salin / tempel ).let
.gx
..vimrc
), dengan terminal yang berbeda (urxvt
,sakura
) dan browser yang berbeda (g:netrw_browsex_viewer
disetel ke'uzbl-browser'
/'firefox'
/'google-chrome'
.Jawaban:
Sebagaimana @Carpetsmoker tunjukkan dalam komentarnya,
g:netrw_gx
menentukan apa yang akan dianggap sebagai bagian dari URI.Secara default diatur ke
"<cfile>"
. Dari dokumen (:help <cfile>
):<cfile> is replaced with the path name under the cursor
Itu lolos saya, mengapa bagian parameter (yaitu
?
) dari URL diabaikan sebagai bagian dari "nama jalur", tetapi saya akhirnya memilih untuk mengatur yang berikut, sebagai solusi saya:Sekarang ini termasuk apa pun yang
W
akan dipilih. (CobaviW
string dalam VIM.)Dari dokumen:
<cWORD> is replaced with the WORD under the cursor
Petunjuk: Menggunakan
gx
dalam mode visual , itu akan membuka string yang dipilih secara visual (terlepas dari konfigurasi di atas).sumber
/
, itu pertama kali diunduh (dengancurl
) dan kemudian dibuka. Menghapus trailing/
, URI langsung dibuka di browser.'isfname'
opsi, yang tidak termasuk?
sebagai karakter nama file yang valid secara default. Mengubah opsi ini memerlukan kehati-hatian karena tidak dapat diatur secara lokal ke buffer. Kecuali jika NetRW mengubah opsi ini, maka itu menjelaskan mengapa URL OP tidak berfungsigx
. Mungkin ada perbedaan dalam versi NetRW yang digunakan, yang akan menjelaskan perilaku berbeda yang dilihat Carpetsmoker.