4

Я хочу сгенерировать HTML-файлы в пакетном режиме, чтобы показать некоторые схемы цветов gvim в действии. Я взял свое текущее решение из сценария по адресу http://code.google.com/p/vimcolorschemetest/, но при этом откроется окно gvim для каждой схемы цветов, которую я хочу обработать.

До сих пор я нашел единственный способ избежать появления надоедливых новых окон, которые появляются каждую секунду, - это запустить VNCserver и установить для переменной среды DISPLAY значение, равное VNCserver, чтобы все окна gvim отправлялись на дисплей в рамках сеанса VNC. ,

Тем не менее, я хотел бы знать, есть ли способ избежать всей настройки VNC и просто запустить безголовый экземпляр gvim, который выполняет преобразование и завершает работу, при этом окна вообще не отображаются.

Я использую Linux, кстати.

2 ответа2

3
vim -E -c "TOhtml" -c "w" -c "qa!" -- test.c >/dev/null

Используйте vim , он будет загружаться быстрее, чем gvim . Вы можете немного ускорить загрузку, используя -X или No-X версию vim .

Чтобы заставить его замолчать, используйте >/dev/null . Но это заставит vim жаловаться (Vim: Warning: Output is not to a terminal) и немного остановится, поэтому мы используем -E .

Мы могли бы попробовать -E -s , но я как-то не могу использовать :TOhtml правильно, результат неокрашенный и занимает одну строку.

Я немного расширяю команду, используя -R -c "set noreadonly" или лучше -n одиночку. Это предотвращает обычное предупреждающее сообщение при открытии файла, в котором уже есть файл подкачки. Нет ничего особенного, чтобы предотвратить сбой при открытии файла, недоступного для записи (например, принадлежащего пользователю root).

Смотрите мой репозиторий vimcat на GitHub, для примера использования подсветки синтаксиса vim, используемой в терминале.

0

Я не могу точно сказать, является ли ваша проблема в том, что Vim открывает слишком много окон одновременно, или он вообще открывает любые окна ...

В последнем случае я не могу вам помочь, однако в любом более новом Vim вы можете сделать что-то вроде этого (очень примитивно, возможно, можно сделать намного приятнее):

# gvim -c TOhtml -c w -c q -c q test.c

который создаст файл test.c.xhtml на основе файла test.c с использованием текущей цветовой схемы. Затем, возможно, другой ключ -c, чтобы изменить цвета, вставьте все это в скрипт оболочки ...

РЕДАКТИРОВАТЬ:

без окон когда-либо на самом деле отображается.

Да, так я идиот. Пожалуйста, не обращайте внимания на этот пост.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .