Vim (сокр. от Vi Improved, произносится «вим») — свободный режимный текстовый редактор, созданный на основе более старого vi. Ныне это один из мощнейших текстовых редакторов с полной свободой настройки и автоматизации, и созданным благодаря этому расширениям и надстройкам. Пользовательский интерфейс Vim’а может работать в чистом текстовом (консольном) режиме. Существует и модификация для использования в графическом оконном интерфейсе — GVim. Многие пользовательские команды в GVim могут вызываться через соответствующие пункты меню. Одна из главных особенностей редактора — применение двух основных, вручную переключаемых, режимов ввода: командного (после запуска редактор находится в нём) и текстового (режим непосредственного редактирования текста, аналогичный большинству «обычных» редакторов).
Vim не совсем интуитивен, так что эффективная работа с редактором требует предварительного обучения.
В сравнении с классическим vi Vim отличается следующими улучшениями:
* Работа со многими файлами одновременно. Разбиение окон редактирования может производиться многократно как по горизонтали, так и по вертикали. * Поддержка Unicode. * Поддержка визуального режима, который позволяет, например, выполнять операции над блоками текста. * Неограниченная глубина отмены (undo) и возврата (redo) действий. * Режим сравнения двух файлов, копирование изменений из одного файла в другой. * Широкая файловая поддержка (файл со справкой и более 200 файлов с описанием синтаксиса). * Подсветка синтаксиса, автоматическое определение величины отступа для каждой строки в зависимости от языка программирования (изначально поддерживает более 200 языков программирования и форматов конфигурационных файлов). * Интеграция с операционной системой, дающая возможности, близкие к интегрированным средам разработки, такие как поиск ошибки по сообщению компилятора, автодополнение идентификаторов и др. * Поддержка языка сценариев; возможность написания модулей расширения — плагинов. * Автоматическое продолжение команд, слов, строк целиком и имён файлов. * Автоматический вызов внешних команд (например, автоматическая распаковка файла перед редактированием). * Распознавание и преобразование файлов различных форматов. * Удобный механизм истории команд, поисковых слов и т. д. * Запись и исполнение макросов. * Возможность сохранения настроек и сеанса. * Возможна интеграция с языками программирования Perl, Tcl, Python и Ruby. * Поддержка языков с письмом справа налево (арабских и других). * Сворачивание (folding) текста для лучшего обзора. * Возможно использование графического интерфейса в специальных версиях (GTK, Motif, …). * Хорошо конфигурируется и настраивается под нужды пользователя. * Для программистов: поддержка цикла разработки «редактирование — компиляция — исправление» программ. Автоматическое выполнение сборки/компиляции, обнаружение и распознавание ошибок, переход к строкам ошибок в тексте программы. * Для поклонников vi: практически стопроцентная совместимость с vi.
Общее число расширений, доступных на официальном сайте, составляет более 3000.
К популярным расширениям Vim, в частности, относятся:
* MiniBufferExplorer * taglist — просмотр структуры программных файлов (список функций и пр.) * bufexplorer * closetag — позволяет закрывать текущий тег при редактировании html/xml-файлов * supertab — автодополнение слов по нажатию клавиши «tab» (при этом отступы строк работают как обычно) * project — позволяет организовать файлы в проекты для удобной навигации по ним. Эффективность этого плагина резко возрастает при использовании вместе со следующим плагином: * indexer — генерирует теги с помощью ctags для всех файлов, входящих в проект. (проект может быть организован как плагином project, так и без него) Теги нужны для быстрого перемещения от вызова функции к ее объявлению, для получения списка членов структуры или класса, и т.д.
Источник: http://ru.wikipedia.org/wiki/Vim |