я бегу:!узел app.jsиз Vim и после нажатия ctrl-c для его завершения нижняя половина окна пустая. Даже нажатие ctrl-L для обновления не работает.
Это произошло как на OSX 10.6, так и на 10.7, и с дефолтным OSX vim, а также с последней стабильной версией, которую я скомпилировал (vim 7.3). И я пробовал это с iterm, iterm2 и terminal.app.
Возможно, это не связано с Node, но если я запускаю команду типа "!ls" или "!cat %" (чтобы вывести текущий файл), они работают нормально.
решение1
Вероятно, вам следует использовать :make
. (Примечание: это не значит, что вам нужен makefile.)
Vim make
настроен так, чтобы гарантировать перенаправление всего вывода, чтобы управляющие последовательности (например, установка цвета шрифта) не портили vim. (Вы можете увидеть параметры, которые он использует при запуске.)
Сначала вам придется настроить вашу программу make на ваш интерпретатор вместо make.
set makeprg=node
make app.js
Вы должны получить вывод в окне быстрого исправления ( :copen
). Возможно, вам захочется найти правильный вариант errorformat
для Javascript/Coffee, чтобы он правильно анализировал ошибки. Вот довольно полный видплагин vim-coffee.