2004 г.
Linux для пользователя
Виктор Костромин,
http://rus-linux.net/
Глава 12. Программы для работы с текстом
12.6. Редакторы ASCII-файлов для графического режима
Очевидно, что было бы очень удобно, если бы редактирование ASCII-файлов в графическом режиме осуществлялось с помощью тех же редакторов, которые применяются в консольном режиме. Тогда не пришлось бы заучивать другие комбинации клавиш, менять привычную среду. Редактор CoolEdit, о котором было рассказано в предыдущем подразделе, может запускаться через эмулятор терминала и использоваться, таким образом, в графическом режиме. Однако, при этом оказывается, что некоторые комбинации клавиш в эмуляторе не работают или работают не так, как в консоли. Кроме того, работа с мышкой в редакторах, изначально ориентированных на графический режим, организована гораздо лучше, чем в консольных редакторах, в силу чего повышается общее удобство работы (хотя, может быть, это чисто мое субъективное ощущение). Поэтому я все же рекомендую не ограничиваться использованием только консольного редактора для ASCII-файлов, а освоить один из многочисленных редакторов, ориентированных на обработку таких файлов в графическом режиме. Рассмотрим три подобных редактора.
12.6.1 Редактор KEdit
Редакторы KEdit и KWrite входят в состав графической среды KDE. Они предназначены для работы в графическом режиме, но работают с ASCII-файлами. Редакторы очень похожи, поэтому я расскажу вначале о KEdit, а затем просто укажу на отличия, имеющиеся во втором редакторе.
Редактор KEdit очень прост в использовании и, если вы вообще, когда-нибудь занимались редактированием текста, у вас не возникнет с ним проблем. К тому же, если KDE у вас уже русифицирован, то не возникнет никаких проблем с вводом и отображением кириллических символов. Более того, меню и сообщения программы тоже русифицированы.
Открыть файл для редактирования можно через меню или по комбинации < Ctrl>+<O > . При этом появляется окно, в котором можно выбрать файл для редактирования. Тут все привычно, и думаю, что дополнительных пояснений вам не потребуется. Кроме этого способа, работая в среде KDE, можно воспользоваться и методом "Drag and Drop". Это значит, что из файлового менеджера Konqueror вы можете прихватить файл мышкой и просто "бросить" его в окно KEdit.
Основные операции редактирования осуществляются с помощью клавиатуры. По клавише <Insert > происходит переключение между режимами вставки и замены символов. Перемещение по тексту осуществляется с помощью клавиш-стрелок и клавиш <Page Down > , <Page Up > , <Home > (переход в начало строки), < End > (переход в конец строки). Выделить блок текста (к сожалению, только линейный) можно с помощью мыши или клавишами стрелок при нажатой клавише <Shift > . Клавиша < Delete > удаляет символ справа от курсора или выделенный блок текста.
Рис. 12.9. Окно редактора KEdit.
Во многих редакторах, и в том числе в KEdit, операции перемещения по тексту и удаления, можно выполнять также с помощью "горячих" комбинаций клавиш (возможно, в связи с тем, что на старых терминалах не было клавиш стрелок?):
- <Ctrl>+<A> — переместить курсор в начало строки.
- <Ctrl>+<B> — переместить курсор на один символ вправо.
- <Ctrl>+<E> — переместить курсор в конец строки.
- <Ctrl>+<N> — переместить курсор на одну строку вниз.
- <Ctrl>+<P> — переместить курсор на одну строку вверх.
- <Ctrl>+<D> — удалить символ справа от курсора.
- <Ctrl>+<H> — удалить символ слева от курсора.
Основные команды по переносу блоков текста из одного места в другое осуществляются с помощью тех же комбинаций, которые используются в редакторе из Midnight Commander и многих других редакторах, так что пальцы находят эти комбинации уже автоматически:
- <Ctrl >+< C> — скопировать выделенный текст в буфер обмена (clipboard);
- <Ctrl>+<X> — вырезать выделенный фрагмент текста и поместить его в буфер обмена;
- <Ctrl>+<V> — вставить фрагмент текста из буфера обмена в позицию курсора;
- <Ctrl>+<K> — удалить текст от курсора до конца строки и поместить его в специальный буфер (kill-buffer);
- <Ctrl>+<Y> — вставить фрагмент текста из специального буфера в позицию курсора.
С помощью комбинации <Ctrl >+< J> можно отформатировать текущий абзац текста. Форматирование, впрочем, заключается только в том, что очень длинные строки текста разбиваются на такие, длина которых не превышает величину, заданную в соответствующей опции пункта меню Настройки.
Комбинация <Ctrl>+<F> вызывает функцию поиска подстроки.
Для сохранения результатов редактирования в файле можно воспользоваться пунктом меню Файл | Сохранить или комбинацией <Ctrl>+<S>. Если вы хотите сохранить редактируемый текст в файле с другим именем, то тут надо действовать только через меню (Сохранить как).
KEdit поддерживает печать. Вы можете распечатать как весь редактируемый файл, так и выделенный фрагмент текста. Печать осуществляется на принтере, заданном по умолчанию. Дополнительно можно подключить любую из утилит печати, которые во множестве разработаны для UNIX.
Что меня особенно восхитило при первом знакомстве с KEdit, так это встроенная возможность проверки правописания и возможность просмотра и редактирования файлов как в кодировке CP-1251, так и в кодировке koi8-r.
Для смены кодировки надо поиграть выбором шрифтов в пункте меню Настройки | Шрифт. К сожалению, не все шрифты поддерживают обе кодировки, но после нескольких попыток удается выбрать нужный шрифт. Для проверки правописания достаточно выбрать пункт меню Редактирование | Проверка правописания. Естественно, что в системе должна быть установлена программа ispell, и, кроме того, перед началом проверки стоит войти в пункт меню Настройки | Проверка правописания и выбрать русский словарь и желаемую кодировку символов (смотри рис. 12.10).
Кстати , пункт меню Настройки вообще желательно повнимательнее посмотреть перед началом редактирования каких-то файлов, выбрать нужные вам установки, после чего сохранить их (подпункт Записать установки).
Рис. 12.10. Настройка проверки правописания в KEdit
Еще одна приятная, на мой взгляд, встроенная функция редактора KEdit — возможность вызова почтовой программы прямо из редактора. Я не смог проверить работу этой функции, поскольку на домашнем компьютере (изолированном) у меня некуда посылать письма. Но такой функцией я часто пользуюсь на работе, в MS Word, и она кажется мне очень полезной и удобной.
В общем, этот редактор с первого знакомства произвел на меня самое благоприятное впечатление, так что я рекомендую вам познакомиться с ним поближе. Возможно , вы даже изберете его для редактирования ASCII-файлов при работе в графическом режиме.
12.6.2 Редактор KWrite
Редактор KWrite, как уже было сказано, очень похож на KEdit. Первое отличие, которое бросается в глаза после загрузки в редактор какого-то файла — раскраска служебных слов. Раскраска задается подпунктами Установить раскраску и Раскраска... пункта Настройки. Поскольку я часто занимаюсь редактированием HTML-файла, эта особенность показалась мне удобной.
В основном меню появился один новый пункт — Закладки с подпунктами Установить закладку (<Alt >+< S>), Добавить закладку и Очистить закладки (<Alt>+<C>). Остальные пункты главного меню — те же, что и у KEdit.
Появилась функция отката < Ctrl>+<Z > и возможность выделения вертикального столбца (эта функция включается клавишей <F5>). По комбинации клавиш <Ctrl >+< I> в текущую строку вставляется отступ (добавляется пробел в начало строки). По комбинации клавиш <Ctrl >+< U> отступ убирается (а если отступа не было — молча удаляется первый символ строки).
Пожалуй, это все, что появилось нового в KWrite по сравнению с KEdit. Но, к сожалению, кое-какие полезные функции пропали. В пункте Файл исчез пункт, касающийся отправки файла по электронной почте. В пункте Правка отсутствует возможность вставить дату. Исчезла также возможность выбрать шрифт в пункте Настройка | Настройка KWrite , что я считаю самым большим недостатком этой программы.
А в остальном эти редакторы практически одинаковы, так что работать можно с любым из них. Я думаю, что со временем все возможности редактора KEdit будут иметься и в KWrite , и он станет "штатным" текстовым редактором оболочки KDE.
12.6.3 Текстовый редактор Nedit версии 5.1.1
Текстовый редактор Nedit создан группой авторов во главе с Марком Эделем (Mark Edel), распространяется на основе лицензии GPL, и его можно получить на Web-сайте http://nedit.org. Внешне он очень похож на два редактора, описание которых было дано в предыдущем разделе, но обладает гораздо большими возможностями, чем KEdit или KWrite.
Рис. 12.11. Внешний вид окна редактора Nedit
После первого же знакомства с этим редактором я решил отказаться от использования KWrite и перейти на Nedit. А. Федорчук [П1.6] тоже считает, что Nedit приближается к идеалу текстового редактора, и даже называет его "лучшим редактором всех времен и народов".
Пожалуй, единственным (на мой взгляд, не очень существенным) недостатком Nedit по сравнению с KEdit или KWrite можно считать только то, что меню, сообщения и подсказки выдаются на английском языке. Правда, в меню нет такого пункта, как отправка почтового сообщения, но зато есть возможность выполнить любую команду оболочки shell или создать макрос, что с лихвой перекрывает отсутствие прямого вызова почтовой программы.
Рис. 12.12. Окно задания шрифтов в Nedit
Переключить редактор на ввод русскоязычного текста для меня не составило труда. Для этого нужно войти в пункт меню Preferences/Text Fonts... и задать нужные шрифты в строках ввода соответствующего окна (см . рис. 12.12). А, поскольку запомнить эти длинные строки с именами фонтов довольно трудно, можно воспользоваться кнопкой Browse... и выбрать шрифт из выводимого списка (см. рис. 12.13). Выбирать надо шрифт, имеющий кодировку KOI8-R. Обратите внимание, что для выбора шрифта надо отметить по одному варианту в каждом из трех предлагаемых столбцов, иначе Вы, вероятнее всего, получите сообщение о том, что такой шрифт отсутствует.
Рис. 12.13. Выбор шрифтов в Nedit
Учитывая, что в силу достаточно долгого периода использования таких редакторов, как редакторы файловых менеджеров FAR для MS Windows и Midnight Commander, у меня сложились устойчивые привычки по использованию некоторых комбинаций клавиш, мне было очень приятно обнаружить, что для вырезания, копирования и вставки блоков текста в Nedit используются привычные комбинации <Ctrl >+< X>, <Ctrl >+< C> и <Ctrl >+< V>. Выделение блока текста осуществляется либо мышкой, либо клавишами-стрелками при удерживаемой клавише <Shift>. Если удерживать <Shift >+< Alt>, будет выделяться прямоугольный столбец. Операции с выделенными блоками можно проделать не только с помощью клавиатуры, но и через пункты меню Edit. Это удобно, если вы не помните комбинацию клавиш для выполнения задуманной операции. А старые привычки не всегда помогают, в частности для отмены последней операции в Nedit используется не <Ctrl>+<U>, а <Ctrl >+< Z>.
В том же меню Edit имеются два подпункта (Lower-case и Upper-case), с помощью которых можно перевести текст в выделенном блоке, соответственно, в нижний и верхний регистры.
Пункт File главного меню содержит подпункты, с помощью которых выполняются обычные операции открытия и сохранения редактируемых файлов. Обратите внимание на то, что с помощью подпункта Open Previous вы легко можете вернуться к редактированию тех файлов, с которыми работали в предыдущих сеансах. Подпункт Include file... (<Alt >+< I>) позволяет вставить содержимое выбранного файла в позицию курсора, подпункт Print... служит для вывода редактируемого файла на принтер.
Пункт Search главного меню содержит обращения к операциям поиска и замены, а также быстрого перехода к нужной строке или к сделанной ранее закладке (и установки такой закладки-отметки).
Для настройки программы в соответствии с Вашими вкусами и привычками служит пункт меню Preferences. Я уже рассказал, как выбрать шрифт для вывода текста в окне программы. Здесь же вы можете с помощью команды Language Mode выбрать язык (например, html или С), по правилам которого будет осуществляться подсветка элементов текста (служебных слов или тэгов), установить размер табуляции (Tabs...), а также включить или выключить нумерацию строк текста, отображение строки статистики, подсветку синтаксиса, режим сохранения резервной копии файла, режим вставки/замены символа.
Пункт Shell используется для запуска команд оболочки и внешних программ. Здесь Вы, в частности, найдете вызов программы проверки правописания ispell, только нет возможности через меню программы подключить русский словарь. Но эта трудность легко преодолевается за счет использования файла ресурсов .nedit в домашнем каталоге пользователя. Достаточно в строке, определяющей вызов программы ispell, добавить параметр –d russian и проверка русскоязычных текстов заработает (в отдельном окне терминала).
Через тот же файл ~/.nedit можно настроить цвета фона и текста, геометрию окна программы и некоторые другие параметры. То же самое можно сделать и в специальной секции [nedit] файла .Xdefaults в Вашем домашнем каталоге. Правда, такой секции в этом файле по умолчанию нет, но ее можно создать, как это рекомендуется в книге А.Федорчука.
Но вернемся к пунктам меню. Пункт Windows служит для переключения между окнами (которых можно открыть одновременно несколько). Назначение пункта Help, я думаю, понятно без дополнительных пояснений. К сожалению, подсказка дается по-английски и отсутствует поиск подсказки по ключевым словам и фразам.
В этом кратком описании я не касался пункта меню Macro, а также тех подпунктов главного меню, которые ориентированы на действия, выполняемые при редактировании исходных текстов программ (например, вставка кодов ASCII, подсветка парных скобок или компиляция программного кода). Но даже и на основании того, что было сказано в данном подразделе, можно сделать вывод, что Nedit — это достаточно мощный и удобный редактор для работы с ASCII-файлами в графическом режиме. Если вы хотите узнать о нем побольше, почитайте статьи A .Федорчука в Интернет или его книгу [ П1.6 ].