我试图在编辑器中设置编译和运行c和c++程序的vim,但这些程序似乎不起作用:
autocmd! filetype *.c nnoremap <leader>cc :!gcc -o %:p:r %<cr>
autocmd! filetype *.c nnoremap <leader>cr :!gcc -o %:p:r %<cr>:!%:p:r<cr>
autocmd! filetype *.cpp *.cc nnoremap <leader>cc :!g++ -o %:p:r %<cr>
autocmd! filetype *.cpp *.cc nnoremap <leader>cr :!g++ -o %:p:r %<cr>:!%:p:r<cr>发布于 2013-08-06 17:33:42
FileType自动命令使用要匹配的文件类型,而不是文件名。您可以使用c和cpp。见:h FileType。然而,你的问题并没有就此结束:
nnoremap <buffer>代替。请参阅:h :map-localautocmd!。autocmd!将删除以前定义的所有内容,并添加当前的自动命令。最好使用augroup创建一个组。%<而不是%:r。:h ftplugin和:h after-directory合在一起:
augroup CBuild
autocmd!
autocmd filetype c nnoremap <buffer> <leader>cc :!gcc -o %:p:r %<cr>
autocmd filetype c nnoremap <buffer> <leader>cr :!gcc -o %:p:r %<cr>:!%:p:r<cr>
autocmd filetype cpp nnoremap <buffer> <leader>cc :!g++ -o %:p:r %<cr>
autocmd filetype cpp nnoremap <buffer> <leader>cr :!g++ -o %:p:r %<cr>:!%:p:r<cr>
augroup END发布于 2013-08-06 17:18:58
我用这种方式修改了它,它起了作用:
autocmd! filetype c nnoremap <leader>cc :!gcc -o %:p:r %<cr>
autocmd! filetype c nnoremap <leader>cr :!gcc -o %:p:r %<cr>:!%:p:r<cr>
autocmd! filetype cpp nnoremap <leader>cc :!g++ -o %:p:r %<cr>
autocmd! filetype cpp nnoremap <leader>cr :!g++ -o %:p:r %<cr>:!%:p:r<cr>https://stackoverflow.com/questions/18085858
复制相似问题