Pentadactyl: usa la url de la pestaña actual en el comando


3

Me gustaría crear una asignación para enviar por correo electrónico un enlace a la página que se muestra en la pestaña actual:

:map ,m :! mail -s "here's a link" email@example.com<cr><current-url><C-d>

Estoy tratando de averiguar cómo reemplazarlo con la URL de la página que se muestra actualmente en la pestaña.

Si está familiarizado con vim, sería el equivalente de%.


No te preocupes por los detalles del comando de correo. Por ejemplo, & lt; C-d & gt; podría no funcionar realmente en mi mapeo. Estoy interesado únicamente en cómo acceder a la url de la pestaña.
Jon Lorusso

Respuestas:


6

Utilizar :execute, donde puedes usar la API de Javascript:

:map ,m :execute '!echo ' + buffer.URL + ' | mail -s "Subject" mail@example.com'

O use un mapeo de javascript, como:

javascript <<EOF
function MyFoo() {
    alert(buffer.URL.host);
}
EOF
map <Leader>f -js MyFoo();

Ver https://github.com/blueyed/dotfiles/blob/master/pentadactylrc#L212 para una función más sofisticada para configurar el editor basado en nombres de host.


¿Cómo adapto esto si quiero abrir la página actual en otro navegador, por ejemplo, cromo? Intenté lo obvio: ejecute '! Echo' + buffer.URL + '| cromo 'pero no funciona.
Niels

lo tengo trabajando con javascript io.run ("chromium", [buffer.URL])
Niels

@Niels: alternativamente, simplemente puedes reemplazar !echo con !chromium en el :execute declaración anterior.
pyrocrasty
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.