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 protected]<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%.

Jon Lorusso
fuente
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" [email protected]'

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.

blueyed
fuente
¿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