Teclas de atalho Vim para arquivo específico

4

É 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?

    
por vonhogen 28.09.2009 / 09:05

3 respostas

7

~ / .vimrc

autocmd FileType java map <F5> :! javac %<cr>

Mais informações sobre mapeamento de chaves e comandos externos .

    
por 28.09.2009 / 09:43
4

(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>
    
por 08.10.2009 / 18:52
3

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.

    
por 28.09.2009 / 09:28