мерзкий (текстовый редактор)
Оригинальный автор(ы) | Пол Фокс |
---|---|
Разработчик(и) | Томас Дики |
Стабильная версия | 9.8з [1] ![]() |
Репозиторий | |
Операционная система | Кросс-платформенный |
Тип | Текстовый редактор |
Лицензия | Только GPL-2.0 |
Веб-сайт | невидимый остров |
Vile — текстовый редактор , сочетающий в себе аспекты редакторов Emacs и vi . Эти редакторы традиционно находятся на противоположных сторонах войн редакторов , поскольку пользователи любого из них, как правило, имеют сильные настроения против редактора, которым они не пользуются. гнусные попытки примирить эти позиции.
Vile — это аббревиатура, обозначающая «VI Like Emacs».Vile 9.6 описан в главе 18 книги О'Рейли «Изучение редакторов vi и Vim». [2] Старая версия (vile 8.0) была представлена в главе 12 книги О'Рейли «Изучение редактора vi». [3]
Программа также известна как xvile [4] для X Window System и как winvile для Microsoft Windows .
Vile был создан и первоначально поддерживается Полом Фоксом. В 1996 году техническое обслуживание взял на себя Томас Дики, [5] который внес большой вклад в кодовую базу за предыдущие годы.
Учимся использовать мерзость
[ редактировать ]

vile Исторически документация была сосредоточена на отличиях от vi. В этом отличие от других распространенных клонов vi ( elvis , nvi и vim ), которые объединили свои соответствующие расширения с исходной документацией vi.
Документация Vile состоит из трех частей:
- Файл интерактивной справки (введите
:h
) - Специализированные темы, такие как макроязык (текстовые файлы)
- Встроенная документация.
- Таблицы команд и другие данные
- Динамические окна, показывающие содержимое регистра, настройки режима и т. д.
Vile построен из комбинации кода, созданного вручную, и таблиц, обработанных специальной программой. Предопределенная информация из таблиц может отображаться различными способами, включая отображение доступных команд , обеспечение завершения имени и т. д. В других вариантах vi аналогичные таблицы не отличаются от кода, созданного вручную.
В других версиях vi отображаемая информация является статической, и для ее обновления требуется взаимодействие с пользователем. Однако в vile эта информация является динамической — она обновляет эти специальные окна по мере внесения изменений в функции, которые они отображают, например, список всех буферов в памяти, настройки режима, соответствующие буферу, который имеет фокус, и т. д.
Хотя многие функции Vile теперь можно найти и в других vi-совместимых редакторах, некоторые из наиболее мощных были реализованы до широкого распространения в других.Например, несколько окон были ранними функциями vile (и xvi) с самого начала. То же самое касается чтения с труб, сложных заборов. не проводилось Кое-что из этого описано в книге О'Рейли, хотя тщательного изучения того, как функции принимаются и адаптируются в вариантах vi и emacs, .
Функции
[ редактировать ]Завершение команды
[ редактировать ]Vile поддерживает завершение команды для нескольких элементов команды: имени команды, имени файла, имени каталога и значений режима.
Основные режимы
[ редактировать ]И vi, и emacs имеют режимы — настройки, влияющие на поведение программы. Vile расширяет режимы vi , такие как list , Number и т. д., предоставляя три уровня режима: global , buffer и window . Режимы буфера связаны с содержимым буфера, например, ограничителями строк, атрибутами только для чтения. Все эти режимы предопределены. vile можно настроить, определив majormodes , которые сочетают в себе определенные настройки режимов буфера с ассоциацией с типом файла. Эти основные режимы также имеют специальные режимы, такие как связь с определенным синтаксическим фильтром .
Подсветка синтаксиса
[ редактировать ]Vile выполняет подсветку синтаксиса, запуская программу синтаксического фильтра , которая анализирует содержимое буфера. Изначально это была отдельная программа. Однако, чтобы повысить производительность и избежать проблем с отображением, эти синтаксические фильтры обычно компилируются в редактор. Большая часть синтаксических фильтров реализована с помощью lex (предпочтительно flex ), а остальные — на C для работы с нерегулярными грамматиками, такими как Perl и Ruby . Все синтаксические фильтры имеют одинаковую конструкцию:
- Считайте из внешнего файла информацию о цвете и видеоатрибутах в связанную хеш-таблицу ,
- Разобрать файл по лексическим правилам ,
- Найдите соответствующую информацию об атрибутах цвета и видео для каждого лексического элемента и
- Запишите размеченную копию файла, которая будет прочитана Vile (через канал, если синтаксические фильтры являются внешними программами, или через вызов функции, если они внутренние).
Vile рисует информацию разметки поверх содержимого буфера, используя области, разделенные номерами строк и столбцов. Разметка не привязана к содержимому базового буфера. Для обновления разметки при изменении буфера требуется повторный анализ. Это делается автоматически, когда пользователь делает паузу.
История
[ редактировать ]Vile находится в постоянной разработке с 1990 года. [6]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Томас Э. Дики (22 января 2024 г.). "АНН: мерзкий-9.8z" . Проверено 22 января 2024 г.
- ^ Арнольд Роббинс; Элберт Ханна; Линда Лэмб (15 июля 2008 г.). Изучение редакторов vi и Vim . «О'Рейли Медиа, Инк.». стр. 343–374. ISBN 978-0-596-52983-3 .
- ^ Линда Лэмб; Арнольд Роббинс (ноябрь 1998 г.). Изучение редактора vi (6-е изд.). O'Reilly & Associates, Inc., стр. 229–258. ISBN 1-56592-426-6 .
- ^ Дэн Уайлдер, «Наконец-то VI на базе X», Linux Journal, февраль 1997 г.
- ^ Ларри Айерс, «Обновления моих прошлых обзоров», Linux Gazette, ноябрь 1996 г. Архивировано 4 августа 2007 г., на Wayback Machine.
- ^ «VILE (Vi Like Emacs) — Часто задаваемые вопросы (FAQ)» . п. Есть ли история проекта? . Проверено 5 августа 2020 г.
Дальнейшее чтение
[ редактировать ]- Обзор: мерзкий редактор совсем не такой
- Обзор: мерзость и Ксвил
- Краткое описание функций клонов vi из «Изучение редактора vi (6-е издание)» на Wayback Machine (архивировано 13 июня 2006 г.)]
Внешние ссылки
[ редактировать ]