ビジュアルモードで選択したものをcommandに渡すときはrangeみたい

書き方

引用

:function! Func() range
    :let tmp = @@
    :silent normal gvy
    :let selected = @@
    :let @@ = tmp
    :echo selected
:endfunction

:command! -range Func :call Func()


Perlの場合

command! -range コマンド名 :'<,'>!perl -S 作ったperlの名前