<< Предыдущий раздел | /\ Содержание | >> Следующий раздел
В этом разделе рассматриваются только текстовые редакторы для ASCII-файлов (таких, как исходные тексты программ, .txt-файлы и т.д.). В обзор попали только текстовые редакторы, работающие в текстовом режиме (пардон за тавтологию), т.е. в консоли или в окне xterm, а не в графике.
Все рассматриваемые редакторы поддерживают основные операции редактирования: набор и правка текста, поиск и замена, работа с блоками (отметка, копирование, перемещение, удаление), загрузка/сохранение файлов.
|
Большинство редакторов при сохранении файла создают резервную (backup) копию, но в отличие от Dos, где она имеет то же имя, что и файл и расширение .bak, в Unix принято давать резервным копиям то же имя что и у файла, но с тильдой "~" на конце (файл "compress.c" -- резервная копия "compress.c~"). |
Vi был первым "настоящим" текстовым редактором под Unix. Его реализации есть во всех подвидах Unix. Сделан он был программистами исключительно для собственного использования, и для обычного пользователя весьма неудобен. Практически единственное, что надо о нем знать -- это как отличить его и как из него выходить, случайно оказавшись в нем (хотя для системных администраторов его знать все же желательно -- иногда, например, при "починке" системы, ничего кроме vi нет в принципе).
При загрузке vi (в Linux используется его "улучшенная" версия vim -- Vi IMproved) экран выглядит приблизительно так, как на иллюстрации (символами "~" обозначаются строки за концом файла):
/dev/hda4 / ext2 defaults 1 1 /dev/hda1 /c vfat defaults 0 0 /dev/hda2 /d ext2 defaults,ro 0 2 /dev/hda3 swap swap defaults 0 0 /dev/fd0 /mnt/floppy ext2 noauto 0 0 /dev/cdrom /mnt/cdrom iso9660 noauto,ro 0 0 /dev/cdhdd /mnt/hdd iso9660 noauto,ro 0 0 none /proc proc defaults 0 0 /dev/hdb4 /mnt/hdb4 ext2 noauto,ro 0 0 /dev/hdb2 /mnt/hdb2 ext2 noauto,ro 0 0 ~ ~ ~ ~ ~ ~ "/etc/fstab" [readonly] 10 lines, 756 characters |
Не вдаваясь в подробности работы vi (режим просмотра, режим редактирования и т.д.): обычно для выхода из него достаточно набрать ":q" и нажать Enter. В том случае, если "с перепугу" или по неопытности загруженный файл был изменен, то выйти без сохранения всегда можно, набрав ":qa!" (":" -- вызов командного режима, "q" -- выход, "a" -- из всех окон сразу, "!" -- выход несмотря на наличие изменений). Если при нажатии ":" в нижней строке не появляется приглашение (тоже ":"), то надо сначала нажать три раза Esc.
|
Хотя достоинством vi является то, что он есть в любом Unix, его неудобство столь велико, что лучше потратить в каждой новой для себя системе несколько лишних минут и найти что-нибудь более приличное. Отсутствие же других текстовых редакторов является лишь показателем халтурной работы администратора системы, но никак не оправдывается наличием vi. |
|
У vi есть любопытная особенность: если его "убить" (kill) во время редактирования файла, то он посылает письмо владельцу, уведомляя о том, что редактировался такой-то файл и его, возможно, удастся восстановить такой-то командой. |
|
Существует множество "клонов" vi -- elvis, vile и т.д. (в имени каждого из них присутствует буквосочетание "vi"). Есть даже версии vi для X-Window (в том числе написанные с использованием Motif). Приверженцы vi создали к нему множество расширений, включая многоуровневое "undo" и цветовое выделение синтаксиса. Но тем не менее это все тот же самый vi, и обычному пользователю связываться с ним просто не имеет смысла. |
Joe очень похож по набору команд на редактор WordStar и среды фирмы Borland (Borland Pascal, Borland C++ и т.д.). Он активно использует комбинации клавиш Ctrl+K буква. Однако, в отличие от WordStar комбинации Ctrl+Q буква не применяются.
Основные комбинации клавиш приведены в таблице, но нажав Ctrl-K H можно вызвать справку по клавишам (убирается она той же комбинацией Ctrl-K H).
Клавиши | Действие |
---|---|
Редактирование | |
Backspace | Удалить символ перед курсором |
Ctrl+D | Удалить символ под курсором (аналог Del) |
Ctrl+J | Удалить до конца строки |
Ctrl+Y | Удалить строку |
Ctrl+_ | Отмена последней операции редактирования |
Ctrl+T T | Переключение вставка/замена (insert/overtype) |
Поиск и замена | |
Ctrl+K F | Поиск/замена; для замены надо в опциях (запрашиваются после ввода образца) указать R. Поиск/замена понимает регулярные выражения (несколько специального вида), нажав Ctrl-K H можно получить подсказку. |
Ctrl+L | Повтор последней операции поиска/замены |
Работа с блоком | |
Ctrl+K B | Отметить начало |
Ctrl+K K | Отметить конец |
Ctrl+K C | Копировать |
Ctrl+K M | Переместить (не Ctrl-K V, как в WordStar/Borland!) |
Ctrl+K Y | Удалить |
Ctrl+K W | Записать в файл |
Ctrl+K R | Прочитать из файла |
Работа с файлами | |
Ctrl+K D | Сохранить |
Ctrl+K X | Сохранить и выйти |
Ctrl+C | Выйти без сохранения |
Ctrl+K E | Открыть файл (в новом окне) |
Любую операцию можно прервать, нажав Ctrl+C.
Joe поддерживает редактирование нескольких файлов одновременно -- каждый в своем "окне". Подробности можно узнать в справке.
У joe есть одна "неприятная" особенность: символ "`" (обратный апостроф) используется как префикс для ввода специальных символов. Поэтому бывают проблемы при вставке текста из другого окна при помощи мыши -- к примеру, строка, содержащая "`b" приведет к вставке в текст символа с ASCII-кодом 2 (Ctrl+B). Чтобы вставить в текст сам "`", надо нажать его дважды.
|
Если вместо "joe" набрать "jstar", то joe запустится в режиме полной эмуляции клавиатуры WordStar, если "jmacs" -- то в режиме эмуляции Emacs, "jpico" -- будет эмулировать Pico. |
Emacs -- это даже не столько редактор, сколько среда. Некоторые (в основном, программисты) используют его практически для всего -- включая чтение почты. Перечень всего, что умеет Emacs, мало кому известен.
Практически все функции Emacs'а написаны на интерпретируемом языке Lisp, поэтому редактор работает сравнительно медленно.
Хотя Emacs -- довольно неподходящий выбор для начинающих, у него есть одно несомненное достоинство -- как и vi, он есть практически в любом Unix.
По умолчанию в графической среде X-Window Emacs запускается в графическом режиме в собственном окне, при этом многие действия можно выполнять мышью. Из консоли, а также если указать ключ "-nw", он запустится в текстовом режиме.
По клавише F10 вызывается меню -- но не обычное, а "клавишное" -- для выбора пункта надо нажать какую-либо клавишу (все они отображаются на экране).
У Emacs есть несколько особенностей, обычно ставящих в тупик непривычных к нему людей. Во-первых, в текстовом режиме клавиша Backspace -- это не удаление предыдущего символа, а синоним Ctrl+H -- префикс "команд помощи". Во-вторых, по умолчанию русские буквы не вводятся как буквы, а вызывают некие команды Emacs'а. В-третьих, если жать стрелку вниз за концом файла, то Emacs будет сам добавлять дополнительные строки.
Многие команды состоят не из одной клавиши, а из нескольких -- первой обычно является Ctrl+X, Ctrl+C или Ctrl+H.
|
Сочетания вида "Ctrl+X Ctrl+C" -- это далеко не то же самое, что "Ctrl+X C"! |
Клавиши | Действие |
---|---|
Редактирование | |
Del | Удалить символ перед курсором |
Ctrl+D | Удалить символ под курсором (аналог Del) |
Ctrl+K | Внутри строки -- далить до конца строки, в конце строки -- удалить конец строки ("подклеить" следующую строку) |
Ctrl+_ | Отмена последней операции редактирования |
Ins | Переключение вставка/замена (insert/overtype) |
Поиск | |
F10 s s | Поиск |
Ctrl+L | Повтор последней операции поиска |
Работа с файлами | |
Ctrl+X s | Сохранить |
Ctrl+X Ctrl+C | Выйти (если файл изменен, то спросит, сохранять или нет) |
Получить список клавиш (весьма немаленький) можно, нажав "Ctrl+H b". Прервать практически любую команду можно, нажав Ctrl+G.
Mcedit -- это редактор, который используется в MC. Соответственно, он похож на привычный всем редактор из Norton Commander'а.
Mcedit понимает те же ключи "-c" и "-a", что и MC. Кроме того, поскольку это, собственно, и есть MC, он использует настройки MC, к примеру, "Display bits". Будучи запущен в цвете, mcedit умеет "расцвечивать" файлы .tex и .c (впрочем, по умолчанию цвета не самые приятные).
Основные клавиши редактирования приведены в таблице, но можно также посмотреть подсказку, нажав F1. Кроме того, F9 вызывает меню, в котором есть еще множество команд. Mcedit можно переключить в режим "эмуляции" Emacs, переключив в окне F9->Options->General пункт "Key emulation" в "Emacs".
Клавиши | Действие |
---|---|
Редактирование | |
Backspace | Удалить символ перед курсором |
Ctrl+D | Удалить символ под курсором (аналог Del) |
Ctrl+Y | Удалить строку |
Ctrl+U | Отмена последней операции редактирования |
Ins | Переключение вставка/замена (insert/overtype) |
Поиск и замена | |
F7 | Поиск (можно использовать регулярные выражения) |
Shift+F7 | Повтор последней операции поиска |
F4 | Замена |
Работа с блоком | |
F3 | Первое нажатие -- начало отметки блока, второе -- конец (в консоли для отметки можно пользоваться Shift+стрелками, как в Word и Borland) |
F5 | Копировать |
F6 | Переместить |
F8 | Удалить |
Ctrl+F | Записать в файл |
Shift+F5 | Прочитать из файла |
Работа с файлами | |
F2 | Сохранить |
F10 | Выйти (если файл изменен, то спросит, сохранять или нет) |
Ctrl+O | Открыть файл |
Кроме всего прочего, есть множество текстовых редакторов, работающих в графической оболочке X-Window -- обязательно есть xedit, а одним из самых удобных считается nedit. Их мы будем рассматривать позже, вместе с X-Window.
<< Предыдущий раздел | /\ Содержание | >> Следующий раздел