最后我想使用vimux用gcc编译我的源代码
(假设文件名是test.c)
在使用vimux之前
:!gcc % -o test
我安装了vimux之后
nmap <leader>z :let $file_name = expand('%:t:r')<cr>:let $full_file_name = %<cr>:call VimuxRunCommand("gcc $full_file_name -o $file_name")<cr>
但是我有错
无效的表达式:%
我也尝试通过使用vim变量来做到这一点,因为我认为问题在于范围
答案 0 :(得分:0)
正如@JonathanLeffler所说,make
更好,但是如果您真的想继续使用gcc,则应该:
$full_file_name
,而不仅仅是file_name
shellescape
,您不希望文件名中的空格成为问题您的代码应类似于:
nmap <leader>z :let $file_name = shellescape(expand('%:t:r'))<cr>:let $full_file_name = shellescape(expand('%:p'))<cr>:call VimuxRunCommand("gcc " . $full_file_name . " -o " . $file_name)<cr>
%:p
是因为我想您想要具有完整路径的文件名。