~ / .vimrc
autocmd FileType java map <F5> :! javac %<cr>
Mais informações sobre mapeamento de chaves e comandos externos .
É possível definir a tecla de atalho para tipos de arquivos específicos no vim.
Por exemplo, se eu estiver editando um arquivo .java, eu gostaria que o vim executasse o javac .java quando eu pressionasse 5.
Isso é possível?
~ / .vimrc
autocmd FileType java map <F5> :! javac %<cr>
Mais informações sobre mapeamento de chaves e comandos externos .
(Eu não consigo entender o ponto da dicotomia entre SO e SU para tais questões ... De qualquer forma:) A sua pergunta já foi respondida, alguns dias depois, em SO: ftplugins + local mapeamentos / abreviações / comandos são o caminho a percorrer.
Em relação à chamada javac, use apenas% < para obter o nome do arquivo sem a extensão. Um primeiro mapeamento correto torna-se assim:
:nnoremap <buffer> <f5> :!javac %<<cr>
Mas prefira confiar no modo de correção rápida com:
:setlocal makeprg=javac\ $*
:nnoremap <buffer> <f5> :make %<<cr>
Eu não tenho nenhuma experiência direta escrevendo algo assim do zero com o Vim, mas aqui está o que você vai querer procurar exemplos a seguir.
Você provavelmente deseja um plugin de tipo de arquivo (ftplugin) para arquivos .java:
A filetype plugin is like a global plugin, except that it sets options and defines mappings for the current buffer only. See |add-filetype-plugin| for how this type of plugin is used.
E use-o com um mapleader + hotkey:
To define a mapping which uses the "mapleader" variable, the special string "" can be used. It is replaced with the string value of "mapleader". If "mapleader" is not set or empty, a backslash is used instead. ... To define a mapping which uses the "mapleader" variable, the special string "" can be used. It is replaced with the string value of "mapleader". If "mapleader" is not set or empty, a backslash is used instead.
Você pode dar uma olhada nos scripts Vim JDE ou este guia sobre como configurar o Vi (m) para desenvolvimento em Java . Esta página contém algumas informações sobre o uso do javac no Vim.