Eu adicionei 4 linhas a seguir ao meu arquivo vimrc para adicionar atalhos (para executar o buffer atual * .html no navegador e para executar o arquivo * .js atual no nó):
autocmd filetype html map <C-S-F10> :sav %<CR>:! chromium-browser %<Enter>
autocmd filetype html inoremap <C-S-F10> <Esc>:sav %<CR>:! chromium-browser %<Enter>
autocmd filetype javascript map <C-S-F10> :sav %<CR>:! node %<Enter>
autocmd filetype javascript inoremap <C-S-F10> <Esc>:sav %<CR>:! node %<Enter>
Ele funciona bem quando eu tenho apenas arquivos html ou apenas arquivos JavaScript abertos. Mas quando eu tenho qualquer combinação desses tipos de arquivos abertos em diferentes buffers (usando abas) e quer abrir o arquivo HTML no navegador e pressione Ctrl + Mudança + F10 meu arquivo HTML vai para o Node, que gera erro de compilação.
Progresso:
Quando eu digito :set filetype
diz html
para * .html e javascript
para arquivos * .js. Portanto, o problema não está no tipo de arquivo impróprio.
Tentei definir Alt + Mudança + F10 atalho para abrir no navegador e que de alguma forma resolve o meu problema. Agora, quando os dois tipos de arquivos mais os arquivos sem o tipo de arquivo estiverem abertos ao mesmo tempo, posso abrir qualquer tipo de arquivo (html, js e plain text) no navegador com Alt + Mudança + F10 e enviá-lo para o Node para compilar com Ctrl + Mudança + F10 . Por que isso acontece?
Aqui meu vimrc Arquivo. Versão do Vim é 7.4
fonte