Я добавил 4 следующие строки в свой файл vimrc, чтобы добавить ярлыки (чтобы запустить текущий буфер * .html в браузере и запустить текущий файл * .js в узле):
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>
Он прекрасно работает, когда у меня открыты только HTML-файлы или только файлы JavaScript. Но когда у меня есть какая-либо комбинация этих типов файлов, открытых в разных буферах (с использованием вкладок), и я хочу открыть файл HTML в браузере и нажать Ctrl+Shift+F10, мой файл HTML переходит в узел, что вызывает ошибку компиляции.
Прогресс:
Когда я :set filetype
тип файла, он говорит html
для * .html и javascript
для * .js файлов. Так что проблема не в неправильном типе файла.
Я попытался установить сочетание клавиш Alt+Shift+F10 для открытия в браузере, и это как-то решает мою проблему. Теперь, когда оба типа файлов плюс файлы без типа открыты одновременно, я могу открыть любой (html, js и обычный текст) тип файла в браузере с помощью Alt+Shift+F10 и отправить его на узел для компиляции с помощью Ctrl+Shift+F10. Почему так происходит?
Вот мой файл vimrc . Версия Vim 7.4