我试图在Vim中为Perl做一个简单的设置并使用它:
function! PerlEnvSetup()
nnoremap <F10> :let f=expand("%")|vnew|execute '.!perl "' . f . '"'<CR>
endf
autocmd FileType perl :call PerlEnvSetup()<CR>
但是当我vim XX.pl
时,底部的错误说:
Error detected while processing function PerlEnvSetup:
line 1:
E121: Undefined variable: f
E15: Invalid expression: '.!perl "' . f . '"'<CR>
Error detected while processing FileType Auto commands for "perl":
E488: Trailing characters
窗口分成两部分(除非我按F10,否则不应该发生)。我在这里做错了什么?
答案 0 :(得分:1)
您所看到的是,|
用于分隔命令(因此显式结束您的:nnoremap
命令。
因此,您需要使用<Bar>
下面的帮助所描述的特殊成语:h map_bar
答案 1 :(得分:0)
这是另一种选择:
function! PerlExecuteCurrentFile()
let f=expand("%")
vnew
execute '.!perl "' . f . '"'
endf
function! PerlEnvSetup()
nnoremap <F10> :call PerlExecuteCurrentFile()<CR>
endf