Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

vile - это текстовый редактор, который сочетает в себе аспекты редакторов Emacs и vi . Эти редакторы традиционно находятся на противоположных сторонах редакционной войны , поскольку пользователи любого из них, как правило, имеют сильные настроения против редактора, которого они не используют. подлые попытки примирить эти позиции.

vile - это аббревиатура от «VI Like Emacs». vile 9.6 описан в главе 18 книги О'Рейли «Изучение редакторов vi и Vim». [1] Более старая версия (vile 8.0) была представлена ​​в главе 12 книги О'Рейли «Изучение редактора vi». [2]

Программа также известна как xvile [3] для системы X Window и как winvile для Microsoft Windows .

vile был создан и первоначально поддержан Полом Фоксом. В 1996 годе , обслуживание было передано Томасом Дики , [4] , который обеспечил много важного вклада в кодовом в течение предшествующих лет.

Учимся использовать мерзость [ править ]

Пример [Список буферов], динамическое окно, обновляемое по мере изменения буфера.
Winvile и онлайн-справка, посвященная отличиям от vi.

Исторически сложилось так, что документация vile сосредоточена на отличиях от vi. Это в отличии от других распространенных VI-клонов ( Элвиса , Nvi и VIM ), которые объединили свои соответствующие расширения с исходной документацией VI.

Документация vile состоит из трех частей:

  • Файл онлайн-справки (тип : h )
  • Специализированные темы, такие как макроязык (текстовые файлы)
  • Встроенная документация.
    • Таблицы команд и другие данные
    • Динамические окна, показывающие содержимое регистров, настройки режимов и т. Д.

vile построен из комбинации кода, созданного вручную, и таблиц, обработанных специальной программой. Предопределенная информация из таблиц может быть отображена различными способами, включая отображение доступных команд , обеспечение завершения имени и т. Д. В других разновидностях vi аналогичные таблицы не отличаются от кода, созданного вручную.

В других вариантах vi отображаемая информация является статической, и для ее обновления требуется взаимодействие со стороны пользователя. Тем не менее, эта информация является динамической - она ​​обновляет эти специальные окна по мере внесения изменений в функции, которые они отображают, например, список всех буферов в памяти, настройки режима, соответствующие буферу, который имеет фокус, и т. Д.

Хотя многие из функций vile теперь можно найти в других редакторах, совместимых с vi, некоторые из самых мощных были реализованы до широкого распространения в других. Например, множественные окна были ранними функциями в vile (и xvi) с самого начала. То же касается чтения из труб, сложных заборов. Кое-что из этого изложено в книге О'Рейли, хотя не было проведено тщательного изучения того, как функции принимаются и адаптируются в вариантах vi и emacs .

Особенности [ править ]

Завершение команды [ править ]

vile поддерживает завершение команды для нескольких элементов команды: имени команды, имени файла, имени каталога и значений режима.

Основные режимы [ править ]

И vi, и emacs имеют режимы , которые представляют собой настройки, влияющие на поведение программы. vile расширяет такие режимы vi , как список , число и т. д., предоставляя три уровня режима: глобальный , буферный и оконный . В буферных режимах связаны с содержимым буфера, например, строка-терминаторы, только для чтения атрибутов. Все эти режимы предопределены. vile можно настроить, определив основные режимы , которые сочетают в себе определенные настройки режимов буфера с ассоциацией с типом файла. Эти основные режимыимеют также специальные режимы, такие как связь с определенным синтаксическим фильтром .

Подсветка синтаксиса [ править ]

vile выполняет подсветку синтаксиса, запустив программу синтаксического фильтра, которая анализирует содержимое буфера. Изначально это была отдельная программа. Однако, чтобы повысить производительность и избежать проблем с отображением, эти синтаксические фильтры обычно компилируются в редакторе. Большинство синтаксических фильтров реализовано с помощью lex (предпочтительно flex ), а оставшаяся часть на C предназначена для обработки нестандартных грамматик, таких как Perl и Ruby . Все фильтры синтаксиса имеют одинаковый дизайн:

  • Считать из внешнего файла информацию об атрибутах цвета и видео в связанную хеш-таблицу ,
  • Разобрать файл согласно лексическим правилам ,
  • Найдите соответствующую информацию об атрибутах цвета и видео для каждого лексического элемента и
  • Напишите размеченную копию файла, который читается vile (через конвейер, если фильтры синтаксиса являются внешними программами, или через вызов функции, если они внутренние).

vile рисует информацию разметки поверх содержимого буфера, используя области, разделенные номерами строк и столбцов. Разметка не привязана к содержимому базового буфера. Для обновления разметки при изменении буфера требуется повторный анализ. Это делается автоматически, когда пользователь делает паузу.

История [ править ]

vile непрерывно развивается с 1990 года. [5]

См. Также [ править ]

  • Список текстовых редакторов
  • Сравнение текстовых редакторов

Ссылки [ править ]

  1. ^ Арнольд Роббинс; Эльберт Ханна; Линда Лэмб (15 июля 2008 г.). Изучение редакторов vi и Vim . "O'Reilly Media, Inc.". С. 343–374. ISBN 978-0-596-52983-3.
  2. ^ Линда Лэмб; Арнольд Роббинс (ноябрь 1998 г.). Изучение редактора vi (6-е изд.). O'Reilly & Associates, Inc., стр. 229–258. ISBN 1-56592-426-6.
  3. ^ Дэн Уайлдер, "Наконец, X-based vi", Linux Journal, февраль 1997 г.
  4. Ларри Эйерс, «Обновления моих прошлых обзоров», Linux Gazette, ноябрь 1996 г. Архивировано 4 августа 2007 г., в Wayback Machine
  5. ^ «VILE (Vi Like Emacs) - Часто задаваемые вопросы (FAQ)» . п. Есть ли история проекта? . Проверено 5 августа 2020 года .

Дальнейшее чтение [ править ]

  • Обзор: мерзкий редактор - это совсем не то
  • Обзор: vile и Xvile
  • Обзор возможностей vi Clones из "Изучение редактора vi (6-е издание)" на Wayback Machine (архивировано 13 июня 2006 г.)]

Внешние ссылки [ править ]

  • Официальный веб-сайт
  • "мерзкий" . Freecode .
  • Мерзкая страница Брайана Мура в Wayback Machine (архивировано 19 января 2008 г.)
  • Мерзкая страница Уильяма Тоттена
  • vi Домашняя страница Lovers
  • vi Ссылки на программное обеспечение
  • Сообщение alt.sources, июнь 1991 г.