Глава 6 Редактирование текстовых файлов в JOEи Vim 6.1. Введение

Освоение текстового редактора — важный навык для каждого, кто хочет быть гра мотным, достойным пользователем Linux. Проблемавыбора редактора сама по
себе интересна, так как в мире Linux существует много текстовых ASCII-редакто ров. Это объясняется двумя причинами. Во-первых, создание текстового редак тора является хорошим (и достаточно типовым) проектом для программиста-но вичка; во-вторых, текстовый редактор — сугубо личный инструмент. Гуру Linux
часто пишут или изменяют текстовые редакторы, руководствуясь своими капри зами... то есть специфическими требованиями.
Пользователи Linux частенько ввязываются в перепалки по поводу текстовых
редакторов (особенно «Emacs против Vim»). Занятие веселое, но бессмысленное.
Найдите тот редактор, который лучше всего подходит для ваших потребностей
и темперамента. Красота Linux (и концепции свободно распространяемого про граммного обеспечения вообще) заключается в богатстве выбора пользователя.
В этой главе мы рассмотрим JOE (Joe's Own Editor) и Vim, который является
потомком vi. Почему не Emacs? Emacs — замечательная программа; большая, слож ная, с бесконечными возможностями настройки и расширения. Это не простой
текстовый редактор, а скорее интегрированная среда. В Emacs пользователи мо гут читать почту и конференции Usenet, писать программы, играть в игры, созда вать собственные макросы и комбинации клавиш, имитировать оконные среды
при отсутствии X Window и даже консультироваться с психиатром (М-х doctor).
Emacs может сделать что угодно... если вы знаете, как этого добиться. Но для тех,
кому нужно просто отредактировать текстовый файл, этого многовато. Emacs «ве сит» более 22 Мбайт, тогда как JOE и Vim помещаются на одной дискете, да еще
остается свободное место.
JOE и Vim хорошо подходят для повседневной работы по редактированию кон фигурационных файлов. Конечно, они также могут использоваться для написа ния любых текстов — статей, веб-страниц, программ и т. д. Чем лучше вы печата ете, тем производительнее будет ваша работа. В идеальном случае руки не должны
отрываться от клавиатуры, а глаза — от экрана.
JOE является «однорежимным» редактором; иначе говоря, ввод команд и редак тирование текста осуществляются на одном экране. Vim работает в двух режимах:
нормальном/командном режиме и режиме вставки/редактирования. В нормальном
режиме все вводимые данные интерпретируются как команды. В режиме вставки
все интерпретируется как обычный текст. Это приводит в недоумение некоторых
новичков, которые впервые берутся за Vim — ведь в программе нет анимирован ного «помощника», который бы объяснил, что они должны переключаться между
двумя режимами, и показал, как это делается. Vim — серьезный, мощный инстру мент, но, как вы узнаете из этой главы, освоить его не так уж трудно.
СОВЕТ
Существует прекрасная бесплатная программа обучения навыкам печати для Linux, которая на зывается Gtypist (http://www.gnu.org/software/gtypist/gtypist.html). Она обучает как раскладке
Qwerty, так и раскладке Дворака и содержит учебные курсы на английском, чешском, русском,
испанском, немецком, французском и норвежском языках. Как и большинство программ на базе
ncurses, она лучше смотрится на текстовой консоли, чем в X.
vi/Vim, универсальный редактор
Vi (официально произносится «ви-ай», хотя я люблю говорить «ви» в рифму
с «фи», чтобы позлить фанатов) — общедоступный текстовый редактор. В какой
бы разновидности системы Linux вы ни работали, в вашем распоряжении всегда
будет vi или один из его потомков.
У vi существует множество клонов: Vim, elvis, vile, calvin, Vigor, viper, virus
и т. д. Проекты такого рода появляются и исчезают, но Vim, elvis и vile широко
используются и активно развиваются.
Vim — самый популярный из всех потомков vi. При запуске vi во многих дист рибутивах Linux (таких, как Red Hat, Debian и Mandrake) запускается Vim. Про грамма поддерживает окна и цветовое выделение синтаксиса, содержит обширную
электронную справку и документацию. Впрочем, даже если в вашем распоряже нии окажется только древняя версия vi, навыки работы в Vim вам пригодятся.
Редактор JOE: «пять в одном»
Редактор JOE обладает целым рядом приятных особенностей. В частности, он
работает в нескольких режимах и имеет собственную справочную систему. Вы
можете запустить JOE и сходу взяться за работу, не заботясь о чтении документа ции. Конечно, это не лучший способ, но в крайнем случае он сработает.
JOE поддерживает три режима эмуляции:
О jstar (WordStar);
О jpico (Pico);
О jmacs (hmacs)
и два собственных режима, JOE и RJOE. В ограниченном режиме RJOE («Restricted
JOE») могут открываться только файлы, указанные в командной строке.
После запуска редактора в режиме RJOE вы не сможете открыть новые файлы
в редакторе или открыть новый сеанс командной оболочки. Таким образом, ре жим RJOE хорошо подходит для sudo-пользователей, поскольку он предотвраща ет выход в режим командной строки с привилегиями root. Все пять режимов ра ботают из одного 200-килобайтного исполняемого файла.
См. также
joe(l), vi(l); Gtypist (http://www.gnu.org/software/gtypist/gtypist.html).