Vim autocmd无法使用nnoremap
发布时间:2020-12-16 01:51:53 所属栏目:安全 来源:网络整理
导读:我正在尝试设置 vim来编译和运行编辑器中的c和c程序,但这些似乎不起作用: autocmd! filetype *.c nnoremap leadercc :!gcc -o %:p:r %crautocmd! filetype *.c nnoremap leadercr :!gcc -o %:p:r %cr:!%:p:rcrautocmd! filetype *.cpp *.cc nnoremap leader
我正在尝试设置
vim来编译和运行编辑器中的c和c程序,但这些似乎不起作用:
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> 解决方法
FileType自动命令使用文件类型而不是文件名来匹配.您可以改为使用c和cpp.请参阅:h FileType.但是你的问题并没有就此结束:
>这些是全局映射.那里打开一个c文件,映射改变了.打开一个cpp文件,无论你使用什么缓冲区,映射都会改变.使用nnoremap< buffer>代替.请参阅:h:map-local 全部一起: 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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |