vim如何检查文件类型?

时间:2015-08-25 15:04:45

标签: vim

我的vimrc如下:

nnoremap <buffer> <F9> :wa<CR> :exec '!python' shellescape(@%, 1)<cr>

nnoremap <buffer> <F10> :wa<CR> :!make && ./%< && make clean<CR>

nnoremap <buffer> <F11> :wa<CR> :!gcc % -o %< && ./%< && rm %<<CR>

所以我可以使用<F9>来构建python和<F11>来构建C。

我想知道我是否可以在vimrc中添加一些语句,以便Vim可以自动检查文件类型,我只能使用一个热键来构建if ... else语句的不同文件。

2 个答案:

答案 0 :(得分:2)

啊哈我找到了一种使用autocmd

来解决这个问题的方法
autocmd BufRead *.py nnoremap <buffer> <F9> :wa<CR> :exec '!python' shellescape(@%, 1)<cr>
autocmd BufRead *.cpp nnoremap <buffer> <F9> :wa<CR> :!g++ % -o %< && ./%< && rm %<<CR>
autocmd BufRead *.c nnoremap <buffer> <F9> :wa<CR> :!gcc % -o %< && ./%< && rm %<<CR>

这就是我需要的!

答案 1 :(得分:1)

在目录~/.vim/after/ftplugin/python下创建文件python.vim(名称无关紧要)或在其他操作系统上创建等效文件。

将Python绑定放入其中:

nnoremap <buffer> <F9> :wa<CR> :exec '!python' shellescape(@%, 1)<cr>

为C做同样的事。