自作した関数にカレントファイルの名前を渡したいです。
:echo fnamemodify(@%, ":t:r")
とすると望み通りの結果が得られます。
ところが
function! MyFunc(arg)
echo a:arg
endfunction
c​ommand! -nargs=1 MyCmd call MyFunc(<f-args>)
nnoremap <Leader><Space> :<C-u>MyCmd<Space>fnamemodify(@%, ":t:r")<CR>
↑というような定義をvimrcに書いておいて<Leader><Space>を打ち込むと「fnamemodify(@%, ":t:r")」という文字列そのものが
a:argに渡されてしまい,展開されません。
どなたかこの原因が分かるかたいらっしゃいますか。