definindo um alias
A maneira mais simples seria dar o comando um alias e mapear o atalho para invocar esse alias.
command! via :execute ':open http://via.hypothes.is/' + buffer.URL
map -b <C-x><C-V> :via
Você pode então executar o comando com a tecla de atalho ou na linha de comando por meio do alias via
.
executando o comando imediatamente
Dito isto, você realmente precisa do comando para imprimir na linha de comando e esperar que você pressione Enter ? Uma solução preferível seria simplesmente executar o comando imediatamente quando você executar a atadura de teclado. Você pode fazer isso por:
-
adicionando
<CR>
ao final do comando executadomap <C-x><C-v> :via<CR>
(esta solução é portátil para o Vimperator); ou
-
usando a opção
-ex
para o comandomap
.map <C-x><C-v> -ex via
executando o comando e imprimindo uma mensagem
Se por algum motivo você não quiser um alias real, mas quiser que o comando seja executado durante a impressão "via" na área de eco, você pode usar uma ligação como esta:
map <C-x><C-V> -js
\ dactyl.open('http://via.hypothes.is/' + buffer.URL);
\ commandline.echo('via',commandline.HL_INFOMSG);
\ setTimeout(function(){ commandline.echo('', commandline.HL_INFOMSG); }, 500);
O 500
no final é o atraso (em milissegundos) antes que a mensagem desapareça. Se você quiser que a mensagem permaneça até que você insira um novo comando ou altere as guias, apenas remova a última linha completamente.