Por defecto, si un búfer en vim contiene una URL como http://www.google.com
, gxen modo normal, se abrirá un navegador con esa URL. Eso es muy útil. Sin embargo, si la URL tiene parámetros de URL (por ejemplo http://www.google.com/search?q=stuff
), entonces los parámetros de URL se pierden (es decir, solo http://www.google.com/search
se abren).
Estoy usando MacVim 7.4 parche 183, con Chrome como navegador principal (en OS X 10.9).
¿Existe una manera fácil, idealmente con una personalización mínima, para hacer gxreconocer una URL completa?
external-command
netrw
Andrew Ferrier
fuente
fuente
gx
(que no es ideal, pero es mejor que copiar / pegar )let
.gx
..vimrc
), con diferentes terminales (urxvt
,sakura
) y diferentes navegadores (g:netrw_browsex_viewer
configurado en'uzbl-browser'
/'firefox'
/'google-chrome'
.Respuestas:
Como @Carpetsmoker señala en su comentario,
g:netrw_gx
determina qué se considerará parte de un URI.Por defecto está configurado en
"<cfile>"
. De los documentos (:help <cfile>
):<cfile> is replaced with the path name under the cursor
Se me escapa, por qué las partes de parámetros (es decir
?
) de una URL se están descartando como partes de un "nombre de ruta", pero finalmente elegí establecer lo siguiente, como mi solución:Ahora esto incluye lo
W
que sea que seleccione. (PruebeviW
con una cadena en VIM).De los documentos:
<cWORD> is replaced with the WORD under the cursor
Sugerencia: Al usar
gx
en modo visual , se abrirá la cadena seleccionada visualmente (independientemente de la configuración anterior).fuente
/
, primero se descarga (concurl
) y luego se abre. Eliminando el final/
, el URI se abre directamente en el navegador.'isfname'
opción, que no se incluye?
como un nombre de archivo válido por defecto. Cambiar esta opción requiere cuidado porque no se puede establecer localmente en el búfer. A menos que NetRW cambie esta opción, eso explica por qué las URL de OP no funcionangx
. Tal vez hay una diferencia en las versiones de NetRW que se utilizan, lo que explicaría el comportamiento diferente que ve Carpetsmoker.