определение псевдонима
Простейшим способом было бы дать команде псевдоним и сопоставить привязку клавиш для вызова этого псевдонима.
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
в конце - это задержка (в миллисекундах) до исчезновения сообщения. Если вы хотите, чтобы сообщение оставалось до тех пор, пока вы не введете новую команду или не измените вкладки, просто полностью удалите последнюю строку.