определение псевдонима
Простейшим способом было бы дать команде псевдоним и сопоставить привязку клавиш для вызова этого псевдонима.
command! via :execute ':open http://via.hypothes.is/' + buffer.URL map -b <C-x><C-V> :via
Затем вы можете выполнить команду либо с помощью связывания клавиш, либо в командной строке через ее псевдоним via
.
выполнение команды немедленно
Тем не менее, вам действительно нужна команда, чтобы распечатать в командной строке и ждать, пока вы нажмете Enter? Предпочтительным решением было бы просто немедленно выполнить команду при выполнении привязки клавиш. Вы можете сделать это одним из следующих способов:
добавление
<CR>
в конец команды, которую вы выполняетеmap <C-x><C-v> :via<CR>
(это решение переносимо на Vimperator); или же
используя
-ex
опцию дляmap
команды.map <C-x><C-v> -ex via
выполнение команды и печать сообщения
Если по какой-то причине вам не нужен фактический псевдоним, а просто хотите, чтобы команда выполнялась при печати «via» в области эха, вы можете использовать привязку, подобную этой:
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);
В 500
конце указывается задержка (в миллисекундах) до исчезновения сообщения. Если вы хотите, чтобы сообщение оставалось до тех пор, пока вы не введете новую команду или не измените вкладки, просто полностью удалите последнюю строку.