Текстовый редактор Geany

Алексей Федорчук и Алиса Деева

Современная преамбула: эта статья была написана достаточно давно — с тех пор Geany развивался со страшной научно фантастической силой. Ряд его новых функций, а также тех, что не охвачены здесь, описаны в серии недавних заметок (11/01/2009, alv).

Geany представляется как легкая IDE (Integrated Development Environment), то есть интегрированная среда разработки программного обеспечения. Очень даже может быть, что она неплохо выступает в этом качестве — а согласно свидетельствам очевидцев, это так и есть. Авторы, не будучи программерами, оценить её с этой стороны на смогли. А вот в роли текстового редактора эта IDE смотрится вполне достойно.

Резюме

 

  • Команда: Enrico Tröger — разработчик, Nick Treleaven — разработчик, Frank Lanitz — переводчик, Sebastian Jauch — майнтайнер
  • Лицензия: GNU GPL v2
  • Зависимости: atk, cxxlibs, directfb, expat, fontconfig, freetype, gcc, glib2, gtk+2, libpng, pango, xorg-libs, xcb, zlib
  • Доступность: входит в штатный комплект дистрибутива; есть практически во всех полнофункциональных дистрибутивах Linux, портах FreeBSD и, вероятно, в других BSD-системах.

Вступление

Geanyразрабатывается Энрико Трёгером (Enrico Tröger) и Ником Трелевеном (Nick Treleaven), базируется на библиотеке Gtk, распространяется под лицензией GNU GPL v2 (по крайней мере до сих пор). Он присутствует практически во всех полнофункциональных дистрибутивах Linux, в портах FreeBSD и, вероятно, в других BSD-системах.

Geany способен выполнять практически все функции обычного текстового редактора, как то: инверсию регистров, дублирование текущей строки или выделения, подсветку синтаксиса многих языков программирования и разметки, развитые средства поиска и замены (в том числе с использованием регулярных выражений и escape-последовательностей, учетом регистра и так далее), включать или выключать динамический перенос строк; короче, практически всё, что требуется при наборе и редактировании текста. И не обязательно текста исходного — нарративного тоже, о чем будет рассказано в конце этой заметки.

Поддержка проектов выводит эту программу в категорию редакторов развитых, делая его способным к обработке серии взаимосвязанных файлов. А встроенный эмулятор терминала полезен не только программистам, но незаменим также для линуксописателей. Автодополнение языковых конструкций (имеются ввиду языки программирования и разметки) — также функция, подчас не лишняя для простых юзеров, имеющих дело, например, с созданием HTML-документов.

Настоящая заметка посвящена общему описанию редактора Geany и методам его использования при работе с обычными текстами и HTML-документами. Не будучи программистами, авторы не затрагивают вопросы применения этой программы в качестве собственно IDE.

Запускается Geany из главного меню панели задач или рабочего стола (Разработка -> Geany), после чего в открытом окне программы можно видеть следующие интерфейсные элементы (рис. 1):

  • заголовок с именем текущего открытого файла и указанием полного пути к нему;
  • строку главного меню;
  • панель инструментов;
  • боковую панель;
  • окно ввода и редактирования текста с вкладками открытых документов по верхнему краю;
  • окно сообщений;
  • статусную строку.

Рис. 1. Geany — общий вид

Вид главного меню предопределён используемой в Geany библиотекой Gtk+, остальные же, в терминологии программы именуемые виджетами, настраиваются внутренними её средствами.

Основные элементы интерфейса редактора — окно ввода, боковая панель и окно сообщений — масштабируемы, как, разумеется, и главное окно; выполненные в сеансе изменения размеров можно сохранить навсегда, о чем будет сказано в разделе про настройку программы.

Главное меню программы включает следующие пункты:

  • Файл;
  • Редактировать;
  • Поиск;
  • Вид;
  • Документ;
  • Проект;
  • Построить;
  • Инструменты;
  • Помощь.

Рассмотрим эти пункты последовательно.

Файл

Пункты меню Файл сгруппированы в несколько блоков. Первый из них посвящен созданию новых файлов. Пункт Создать предполагает открытие в окне редактирования пустого документа. Пункт Новый (с шаблоном) предоставляет на выбор с десяток вариантов, позволяющих создать исходный файл с предопределённым шаблоном для нескольких языков программирования (Си, Си++, PHP, Python, Ruby и так далее) и разметки (HTML).

В начале каждого шаблона содержится комментарий (обозначенный в соответствие с синтаксисом выбранного языка), включающий имя файла, указание на копирайт создателя (откуда оно берётся — мы увидим позднее) и традиционный для программ Open Source отказ от гарантий.

Далее следует «скелет», типичный для данного языка. Например, для HTML-файла он выглядит следующим образом (рис. 2). Сначала идет определение типа документа (!DOCTYPE) и тег html с соответствующими атрибутами. Затем — заголовочный блок с титулом HTML-страницы, указанием набора символов (соответствующим по умолчанию текущей локали) и программы-генератора (то есть самой Geany), открывающий и закрывающий теги body и закрывающий тег html. Рассмотрение шаблона показывает, что он соответствует спецификации XHTML, поэтому при создании чистого HTML-документа (pure html) лучше начинать это дело с «чистого листа».

Рис. 2. Шаблон HTML-документа

Следующий блок пунктов меню Файл касается открытия существующих документов, том числе выбранного файла и одного из списка недавно открывавшихся документов (по умолчанию в списке десять позиций).

Блок сохранения файлов включает пункты: Сохранить (текущий файл), Сохранить как, то есть под другим именем (если файл был создан из шаблона — это единственно доступный вариант, причём соответствующий суффикс, например .html, выводится автоматически), Сохранить все (открытые документы), Обновить, то есть считать документ заново, например, если он был изменён внешней программой (с потерей несохранённых результатов текущего редактирования) и Обновить как, что предоставляет возможность сменить текущий набор символов (по-простому говоря, изменить кодировку документа).

Пункт Свойства вызывает панель с указанием типа файла, его размера и полного пути к нему, кодировки, атрибутов времени (модификации, изменения статуса, последнего доступа), принадлежности и прав доступа (рис. 3).


Рис. 3. Свойства текущего документа

Далее следуют пункты, относящиеся к печати, закрытию (текущего документа или всех открытых) и, наконец, выход из программы.

Редактировать

В меню Редактировать сначала следует блок пунктов для обычных действий над текстом — Отменить и Вернуть (последние изменения, откат и возврат многоступенчатые), Вырезать, Копировать, Вставить и Удалить, а также Выделить всё.

Все эти операции дублируются стандартными для современных GUI комбинациями клавиш, типа Control+X, Control+C и Control+V для вырезания, копирования и вставки выделенного фрагмента соответственно. Однако приходится помнить, что комбинации эти не работают при включении русской раскладки клавиатуры. Это не дефект программы, а особенность лежащей в её основе библиотеки Gtk, с которой пользователи ведут вековечную борьбу.

Пункт Форматирование позволяет:

  • переключить регистр выделенного текста;
  • закомментировать строку или снять с неё комментарий;
  • продублировать строку или выделенный фрагмент текста;
  • увеличить или уменьшить отступ текущей строки или выделенной группы строк;
  • отправить выделенный текст на обработку какой-либо команде, после чего вывод этой команды заменит исходное выделение; правда, команды обработки предварительно нужно определить — это делается в этом же подпункте; данная возможность неоценима для линуксописателя (и не только для «линуксо-«).

Пункт Вставить комментарии подразумевает нечто совсем иное, нежели близкий по звучанию подпункт из Форматирования. Он предлагает на выбор включить в документ такие фиксированные фрагменты, как отказ от гарантий (о котором говорилось ранее), BSD- и GPL-уведомления. Хотя и просто закомментировать несколько пустых строк можно тоже.

Далее идут пункты Вставить дату (с возможностью выбора формата оной) и Вставить include (у нас не активизировано, почему — не разбирались за ненадобностью).

И, наконец, пункт Параметры: в нём можно выполнить настройки программы, к которым мы вернёмся после того, как рассмотрим возможности, предоставляемые Geany без всяких настроек.

Поиск

Развитые функции поиска и замены — одно из важнейших отличий «настоящих» текстовых редакторов от «буквонабивалок» класса Notepad’а. И Geany здесь стыдиться нечего.

При запуске поиска на экране появляется панель со строкой, где вводится искомая последовательность символов, и серией чекбоксов, определяющих его условия. Поисковая панель не блокирует доступ к окну редактирования; в частности, в обрабатываемом тексте можно выделить фрагмент и щелчком средней кнопки мыши и операцией копирования поместить его в поисковую строку. Предусматривается поиск в двух режимах — обычном и расширенном.

Обычный режим поиска предполагает (рис. 4) поиск последовательности символов, поиск последующего или предыдущего, осуществляемые в пределах текущего документа. Возможно использование регулярных выражений, учёт регистра и так далее.

Рис. 4. Обычный режим поиска

Перейдя с помощью чекера Найти всё в расширенный режим поиска, оный можно осуществить в текущем документе, во всех открытых файлах, а также установить метки на строки, содержащие искомую последовательность символов.


Рис. 5. Расширенный режим поиска

Пункт Найти в файлах позволяет указать каталог, во всех файлах которого следует выполнить поиск введённой последовательности символов, в том числе, при желании, и в подкаталогах любой степени вложенности. При поиске возможно использование обычных и расширенных регулярных выражений для grep, который, судя по всему, и выполняет собственно поиск в этом случае.

Рис. 6. Поиск в файлах указанного каталога

Поиск предполагает возможность замены найденного — и таковая в Geany имеется. И также осуществляется в двух режимах. В обычном режиме замена происходит последовательно, по мере нахождения очередной подлежащей замене последовательности символов. Нажав всё ту же кнопку Заменить все, можно перейти в расширенный режим, дающий возможность замены в выделенном фрагменте текста, в документе целиком, а также в сессии, то есть во всех документах, открытых в данный момент.

Рис. 7. Расширенный режим замены

Возможностью, предоставляемой функцией Найти выделенное нас не удивить — собственно, и при обычном поиске в строке для оного по умолчанию будет помещён выделенный фрагмент, если таковой имелся. А вот с функцией Найти предыдущее выделенное мы ещё не сталкивались — что не делает её менее полезной в ряде ситуаций. Ну и Переход на строку (по заданному её номеру) видится вполне уместным среди функций поиска и замены.

Вид

В меню Вид, как нетрудно догадаться, устанавливается визуальное представление как интерфейсных элементов редактора, так и редактируемого документа. Так, первый его пункт, Шрифт, изменяет таковой в окне редактирования — но только на время текущего сеанса (глобальная замена шрифта выполняется через пункт Редактировать -> Параметры, до которого мы со временем доберёмся).

Пункт Tuggle All Additional Widgets убирает с экрана панель инструментов, вкладки для открытых документов, окно сообщений и статусную строку — словом, всё, кроме боковой панели (которая, как мы сейчас увидим, тоже может быть отключена) и окна редактирования, максимально расширяя пространство для последнего. Хотя нет, максимальным поле для приложения своих писательских склонностей становится, если включить еще и полноэкранный режим, что делается через следующий, одноименный пункт меню Вид (или достигается нажатием клавиши F11).

Далее следует блок пунктов, включающих или отключающих основные интерфейсные элементы главного окна редактора, такие как окно сообщений, панель инструментов, боковая панель, маркер строк (то есть подсветка строки, на которой расположен курсор), номера строк. В комментариях это, видимо, не нуждается.

Пункты Увеличить, Уменьшить и В обычном размере выполняют масштабирование содержимого окна редактирования, подобно тому, как это делается в браузерах со времен Netscape какой-то бородатой версии. Кстати, и выполняется масштабирование также теми самыми, вот уже десять лет привычными клавишами — Control+»серый плюс» и «Control+сервый минус», а не только через меню (хотя приведение к исходному состоянию возможно лишь через него).

Документ

Пункты меню Документ включают или выключают динамический перенос строк и использование автоотступов (только в текущем сеансе, для увековечивания установленной ситуации нужно обратиться всё к тем же Параметрам), определяют представление отступа — символами табуляции или наборами пробелов, устанавливают для текущего документа режим «только для чтения» (лишь в пределах Geany, изменять его внешними программами никто не запрещает),

Далее следуют пункты:

  • использовать кодировку Unicode с меткой порядка байтов (BOM), что, насколько нам известно, необходимо только для различения вариантов UTF-16 и UTF-32;
  • установить тип файла для:
    • языка программирования (ассемблер, Си, Си++, Java и так далее),
    • языка скриптинга (shell, Perl, Python, PHP, Ruby, JavaScript и др.),
    • языка разметки (CSS, DockBook, HTML, XML), и
    • прочих языков (конфиги, diff-файлы, LaTeX и так далее),

    в соответствие с чем осуществляются подсветка синтаксиса и автодополнение языковых конструкций; например, в файле, тип которого определен как HTML, закрывающие теги будут ставиться автоматически после набора тега открывающего;

  • установить кодировку — они сгруппированы по регионам (западноевропейские, восточноевропейские, восточноазиатские и прочие), внутри которых уже выбираются собственно наборы символов; кириллические кодировки, если используется не UTF-8, следует искать среди восточноевропейских;
  • установить символ конца строки в стиле Unix, DOS или Mac;
  • убирать остаточные пробелы и заменять символы табуляции соответствующим количеством пробелов;
  • удалить маркеры на строках, которые были помечены при поиске;

Еще раз напомним, что все установки в меню Документ действуют только для текущего файла.

Проект

Средства поддержки проектов в Geany не очень богаты. В сущности, они сводятся к созданию проекта, в который объединяется группа файлов, могущих быть открытыми или закрытыми в один присест. Но при работе с обычными текстами, типа серии статей или глав книги, от проекта часто большего и не нужно.

Построить

Это меню предназначено в основном для сочинителей исходных текстов. Однако один из его пунктов, а именно, Выполнить, может представлять интерес и для тех, кто сочиняет тексты просто. В частности, файл HTML при выборе этого пункта будет просто-напросто открыт в браузере. Каком — поговорим чуть позже.

Инструменты

В этом меню можно видеть такие пункты:

    • Выбор цвета — выводит панель (рис. 8), в которой можно выбрать цвет из палитры, задать его значение численно или определить, с помощью «пипетки», по образцу, ткнув в любую область экрана (не обязательно в пределах окна Geany);

Рис. 8. Выбор цвета

    • — вывод статистики, включающей количество строк, слов и символов, для всего документа или выбранной его части (рис. 9 и 10 соответственно);

Рис. 9. Статистика для всего документа

б
Рис. 10. Статистика для выделенного фрагмента

    • Загрузить теги — с этим пунктом мы не разбирались за ненадобностью; скажем только, что к тегам HTML он не имеет никакого отношения и предоставим желающим восполнить пробел в нашем описании;
    • Plugin Manager — в этом пункте можно включить использование таких плагинов, как автосохранение изменённых документов, просмотр файлового дерева в боковой панели (о которой мы поговорим позже), вставка символов HTML (см. следующий пункт), экспорт чисто текстового файла в форматы HTML и LaTeX (рис. 11);

Рис. 11. Plugin Manager

  • Вставить специальные символы HTML — этот пункт активизируется только после подключения соответствующего плагина (см. предыдущий пункт); благодаря ему символы, которые нежелательно вводить в HTML-файле напрямую(например, угловые скобки, обрамляющие теги), можно почти автоматически представить в виде так называемых амперсанд-последовательностей, для чего выбрать соответствующую последовательность из меню или ввести символ амперсанда, — из контекстного выпадающего списка;
  • Экспорт — это возможность записать текстовый файл в форматах HTML и LaTeX, то есть та самая, которую мы включили через Plugin Manager двумя пунктами ранее.
  • Split Window — разделяет окно редактирования на две части вертикальным разделителем (рис. 12), что почему-то называется Horizontally; обратная процедура — Unsplit

Рис. 12. Split Window — разделение окна редактирования

Помощь

Во многих свободных программах это вполне формальный пункт главного меню, сводящийся к указанию официального сайта проекта, списка его участников, лицензии и тому подобных элементов матрицы Остапа Бендера «Азиатский орнамент». Однако Geany принадлежит к тем немногим программам Open Source, которые являют собой приятное исключение.

Первый пункт меню, собственно Помощь, вызывает очень подробную (хотя и англоязычную) документацию по программе в формате HTML. Причём вызывает не из Сети, а с локальной машины, куда она была помещена при инсталляции. Останавливаться на её содержании мы не будем, но к прочтению всячески рекомендуем.

Следующий пункт — Клавиатурные сочетания. Это не просто справка по существующим клавишным комбинациям, а руководство к действию, о чём недвусмысленно говорит надпись сразу под заголовком панели (рис. 13). И если последовать совету разработчиков и нажать кнопку Правка, то оказываешься как раз в том месте настроек Geany, в котором горячие клавиши и можно переопределить.

Рис. 13. Помощь по горячим клавишам: помоги себе сам, и они помогут тебе

Третьим пунктом данного меню идёт ссылка на официальный сайт проекта — также весьма информативный. Во всяком случае, в разделы Manual и FAQ заглянуть явно стоит.

И, наконец, в пункте О программе приведены сведения о её разработчиках и переводчиках интерфейса — их имена вы можете видеть в первой секции настоящего описания.

Инструментальная панель

Инструментальная панель включена в редакторе Geany по умолчанию, хотя, как мы видели, расширения рабочего пространства ради, её можно и убрать — временно, через меню Вид, или постоянно, через пункты Редактировать -> Параметры. Действия через пиктограммы в основном дублируют основные операции, доступные через главное меню, хотя некоторые из них и своеобразны.

Первые две пиктограммы в ряду инструментов — создание нового файла и открытие существующего. Рядом с каждой из них можно видеть маленькие стрелочки. Нажатие на первую, привязанную к пиктограмме создания файла, вызывает выпадающий список с возможными типами создаваемых файлов — исходного текста на Си, Си++ и так далее вплоть до HTML. То есть действие этой стрелочки аналогично пунктам главного меню Файл -> Новый (с шаблоном). Ну а стрелка справа от иконки открытия файла вызывает список недавно открывавшихся файлов, подобно пунктам Файл -> Недавние файлы главного меню.

Далее следуют две пиктограммы — сохранения текущего файла и сохранения всех открытых в сеансе документов, а также иконка перечитывания текущего файла с диска, а затем косой серый крестик закрытия текущего документа; если последний содержал не сохранённые изменения, последует запрос на подтверждение действия с вариантами — Отменить, Не сохранять и Сохранить.

Стрелки Назад и Вперед подобны таковым в браузерах, только перемещают они в пределах текущего документа — на предыдущую и последующую позиции курсора.

Две следующие пиктограммы вызывают сборку текущего файла (разумеется, если его тип позволяет такое, иначе в окне сообщений появится сообщение об ошибке) и его просмотр-запуск. В отличие от похожего пункта главного меню, в последнем случае осуществляется попытка запустить файл через сценарий оболочки, что для документа HTML, например, не имеет смысла и потому не влечёт за собой никакого результата (кроме появления некоего подобия терминального окна, исчезающего при нажатии клавиши Enter).

Следующая в этом ряду пиктограмма — выбор цвета, который происходит точно так же, как было описано в разделе про меню Инструменты.

Далее следует два поля ввода. В первом можно поместить текст для поиска, во втором — номер строки, на которую требуется перейти. Нажатие на сопровождающие их кнопки вызывает соответствующие действия.

И последняя на панели инструментов пиктограмма — выход из редактора с запросом на сохранение не записанных перед тем изменений.

Мы привели набор пиктограмм, имеющихся в инструментальной панели по умолчанию. В одном из следующих разделов мы увидим, что он может быть как пополнен (хотя и не в очень широких рамках), так и урезан произвольным образом.

Поле редактирования, боковая панель и окно сообщений

Покончив с обзором элементов управления редактором — главного меню и инструментальной панели, перейдём к основным рабочим областям его интерфейса.

Главная рабочая область текстового редактора — это, разумеется, поле ввода и редактирования текста. Но как раз про него-то можно сказать меньше всего — разве только то, что в нём действительно можно вводить и редактировать текст :), и что оно имеет полосу прокрутки оного.

Хотя нет, самое главное: вдоль верхней границы рабочего поля идут вкладки для переключения между открытыми документами, имеющие также кнопку закрытия — такой же косой серый крестик, что и на инструментальной панели. Вкладки вновь открываемых документов по умолчанию возникают справа от существующих. Впрочем, вкладки эти можно перетасовать как угодно простым перетаскиванием мышью.

Боковая панель служит целям навигации по текущему документу, перемещению между документами открытыми и просмотру дерева файлов, как открытых, так и не открытых. И, соответственно этому, имеет три вкладки.

Первая из них — теги. Не берёмся судить, что понимается под этим словом для файлов исходных текстов на языках программирования, но для HTML-документов тут фигурируют именно обычные разметочные теги, в частности, заголовков соответствующих уровней (H1, H2 и так далее) и заключённый в них текст с указанием номера строки. То есть мы можем видеть своего рода гипертекстовое оглавление: щелчок мышью на одном из заголовков во вкладке тегов приводит к перемещению на него в тексте рабочего поля (рис. 14).

Рис. 14. Боковая панель: вкладка теги

По умолчанию заголовки отсортированы по имени, то есть в алфавитном порядке. Через контекстное меню, вызываемое щелчком правой кнопки мыши в боковой панели, их можно пересортировать в порядке появления в тексте, как в обычном оглавлении (именно такой порядок показан на рис. 14).

Вкладка Документы боковой панели — это просто список открытых в данный момент файлов, между которыми можно переключаться точно так же, как и по вкладкам поля редактирования. Через контекстное меню, вызываемое щелчком правой кнопки мыши, файл под курсором можно сохранить, обновить или закрыть. Действие пункта Показать полный путь будет распространено на все файлы вкладки.

Наконец, вкладка Файлы появится только после того, как через менеджер плагинов будет включён плагин Просмотр файлов. В этой вкладке выводится содержимое текущего каталога (рис. 15), и в ней можно перемещаться, как в обычном файловом менеджере. Собственно, этот плагин и представляет собой упрощённый файловый менеджер с ограниченной функциональностью: щелчком правой кнопки мыши вызывается контекстное меню, через которое можно открыть файл в окне редактирования, открыть его во внешней программе, вызвать поиск, аналогично пункту Найти в файлах из меню Поиск. Обладает эта вкладка и собственной маленькой инструментальной панелькой с четырьмя пиктограммами, с помощью которых можно переместиться на уровень вверх, обновить содержимое вкладки, перейти в домашний каталог и в каталог, который содержит документ, являющийся текущим для поля редактирования.

Рис. 15. Боковая панель: вкладка Файлы

Теперь окно сообщений. Оно тоже включает в себя отдельные вкладки — целых пять штук:

  • Статус;
  • Компилятор;
  • Сообщения;
  • Заметки;
  • Терминал.

При вкладке Статус (она включается по умолчанию при запуске программы) в окне сообщений выводится своего рода журнал операций над текущими файлами, в котором фиксируются время открытия каждого файла, всех сохранений и закрытия. Аналогичные операции над проектами (поскольку они также представляют собой файлы, только остающиеся как бы за кадром) протоколируются тут также.

При переходе к вкладке Компилятор в окне сообщений выводится информация о ходе сборки текущего файла (запущенной через меню Построить -> Собрать. В нашем случае (рис. 16) попытка «собрать» HTML-файл закончилась тем, чего и следовало ожидать — сообщением об ошибке.

Рис. 16. Окно сообщений: вкладка Компилятор

Вкладка Сообщения, похоже, задействуется только при поиске сообщений — никаких других применений ей мы пока не углядели.

С переходом к вкладке Заметки окно сообщений превращается в своего рода текстовый мини-редактор, о чем нас и информирует появляющаяся при переключении надпись:

Здесь можно писать все, что угодно, используйте это для заметок и быстрых записей

Действительно, теперь в окне сообщений можно вводить текст и редактировать его как угодно. Разве что сохранить в виде файла непосредственно не получится. Но текст можно скопировать в «мышиный» или Иксовый буфер и поместить уже в окно редактирования (или в любую другую программу, способную обрабатывать тексты).

Пятая вкладка — Терминал. С переключением на неё окно сообщений становится действительно полноценным терминальным окном с командной строкой пользовательского шелла, в которой можно вводить практически любые команды, в чем и состоит её ценность для линуксописателя: результаты выполнения команды можно тут же «скопипастить» в сочиняемую статью. Единственное ограничение — выполнение команд в этом встроенном терминале нельзя прерывать, например, посредством традиционного Control+C: это приводит к мгновенному падению всей программы Geany.

Последний элемент интерфейса нашего редактора, также отключаемый — строка состояния вдоль нижнего края окна сообщений. В ней выводятся: номер строки и колонки для текущего положения курсора, режим работы редактора (вставки или замены), тип конца строки, кодировка документа и тип его файла.

Настройка

Мы рассмотрели интерфейс и возможности Geany по умолчанию. Теперь давайте поглядим, как их можно модифицировать под свои потребности и привычки.

Как уже говорилось, практически все настройки Geany выполняются посредством меню Редактировать -> Параметры, вызывающего панель с одиннадцатью вкладками (рис. 17):

  1. Общее;
  2. Интерфейс;
  3. Панель инструментов;
  4. Отображение;
  5. Редактор;
  6. Файлы;
  7. Инструменты;
  8. Шаблоны;
  9. Привязки;
  10. Печать;
  11. Терминал.

Рис. 17. Настройка Geany: вид при запуске, вкладка Общее

Рассмотрим последовательно, какие возможности они предоставляют.

Во вкладке Общее — пять секций: Запуск, Завершение работы, Проекты, Разное, Пути, содержащих чекбоксы включения/отключения соответствующих функций. В первой из них отмечается, загружать ли при старте редактора файлы из последней сессии, включать ли виртуальный терминал (тот самый, на который можно будет переключиться в окне сообщений) и поддержку дополнительных плагинов, о которых говорилось выше.

При завершении работы можно сохранить позицию и размеры главного окна программы и его составляющих — боковой панели и окна сообщений; здесь же указывается, запрашивать ли подтверждение при выходе из редактора.

В секции Проекты можно включить или выключить поддержку файлов сессий для проектов — тех самых, которые позволяют открыть сразу группу связанных документов.

В части Разное, как и положено, настраивается всякая всячина, как то:

  • включение звукового сигнала при ошибках;
  • переход к дежурным сообщениям при получении оных и, напротив, подавление вывода дежурных сообщений;
  • включенние автофокусировки окон по перемещению курсора мыши, без щелчка оной, — это удобно, если надо постоянно приходится переключаться между окном редактирования и окном сообщений;
  • скрытие панели поиска по его завершении;
  • помещение слова под курсором в поисковую строку при обращении к функциям поиска и замены.

Наконец, в секции Пути определяется положение стартового каталога для обрабатываемых файлов и для файлов проектов. Они не обязаны совпадать — в некоторых случаях удобно файлы всех проектов держать в отдельном от рабочих файлов месте.

Внешний вид редактора и его основных элементов определяется во вкладке Интерфейс (рис. 18).

Рис. 18. Настройка Geany: вкладка Интерфейс

Здесь для боковой панели можно включить или выключить отображение списка тегов и списка документов; отображения списка файлов здесь нет — как уже говорилось, оно определяется включением соответствующего плагина. Так что, если отключить вывод и списка тегов, и списка документов, исчезнет и список файлов. Ну а с включением показа полных путей к файлам открытых документов всё ясно без комментариев.

Шрифты — как их гарнитура, так и размер, — можно установить независимо для окна редактирования, для боковой панели и для окна сообщений. Забегая вперед, заметим, что терминал в окне сообщений также настраивается независимо от остальных элементов редактора.

Далее, экономии места ради, можно выключить вкладки для открытых файлов в окне редактирования. Если же их оставить, то можно отключить показ кнопки закрытия на вкладках, во избежание случайного нажатия на неё. Ну и позиция открытия новых вкладок при создании документа — слева или справа от текущей — также может быть переопределена.

Положение вкладок задаётся для главных виджетов программы относительно их самих независимо, и они могут располагаться по любому краю панели или окна, хотя их позиция по умолчанию наиболее разумна — разве что можно было бы поспорить относительно «верха» и «низа» для окна редактирования и «права» и «лева» — для окна сообщений.

Ну а включение или отключение строки состояния — это вообще уже дело вкуса и личных потребностей.

Как говорилось в разделе Панель инструментов, она может быть отключена, или набор кнопок на ней изменён. Это делается в одноименной вкладке (рис. 19) отметками в соответствующих чекбоксах. Можно также изменить внешний вид кнопок (в виде только иконок, только текста или того и другого) и их размер (большой, как по умолчанию, или маленький). А вот перетасовать их взаимное расположение не получится.

Рис. 19. Настройка Geany: вкладка Панель инструментов

Во вкладке Отображение (рис. 20) можно, во-первых, включить показ так называемых непечатаемых символов, таких как концы строки и отступы (именуемые здесь подсказками углубления), а также некие «чистые пробелы» — что под этим подразумевается, мы, к стыду своему, не знаем.

Рис. 20. Настройка Geany: вкладка Отображение

Маркер длинной строки при включении режима переноса строк (см. рассказ о следующей вкладке) служит для различения «истинных» строк (фиксируемых символами конца строки, в случае стиля Unix — LF) и строк «экранных», создаваемых за счет переноса слов по границе экрана, длина которых зависит от размера окна редактирования. Варианты выбора маркера — отмечать цветом текст строки, фон текста (цвет может быть изменен) или выключить вообще (последнее имеет смысл, если режим переноса слов не используется).

Во вкладке Редактор устанавливаются правила поведения в окне редактирования (рис. 21), такие как:

  • тип отступа (символ табуляции или набо символов пробела) и его ширина;
  • включение и выключение режима переноса слов;
  • отключение режима Drag-and-Drop;
  • удаление остаточных пробелов в конце строк, перед символом её окончания;

Рис. 21. Настройка Geany: вкладка Редактор

В этой же вкладке включается автодополнение языковых конструкций и устанавливается минимальное количество введённых символов, после которого это автодополнение происходит.

Во вкладке Файлы (рис. 22) сначала определяется кодировка по умолчанию для вновь создаваемых файлов и устанавливается кодировка, в которой должны открываться файлы уже существующие. По умолчанию значения обоих параметров берутся из системной локали, но в общем случае совпадать они не обязаны.

Рис. 22. Настройка Geany: вкладка Файлы

Далее включаются (или, напротив, выключаются) действия, производимые при записи файлов: удаление остаточных пробелов, обязательный ввод новой строки в конце файла (необходимо для некоторых конфигов), замена символов табуляции эквивалентным числом пробелов. Длина списка недавно открывавшихся файлов (выводимого при действиях через меню Файл -> Недавние файлы) также указывается в этой вкладке.

Вкладка Инструменты (рис. 23) к панели инструментов не имеет никакого отношения: здесь определяются внешние программы, вызываемые для выполнения определённых действий. Пользователю нужно следить за тем, чтобы умолчальные значения всех полей, подходящие в большинстве случаев, всё же соответствовали реалиям его системы. То есть чтобы для действия Make вызывалась соответствующая программа этого семейства (возможно, здесь потребуется указать gmake или imake), действие Терминал осуществлялось в окне предпочитаемого эмулятора терминала, для поиска текстовых фрагментов применялась нужная утилита grep-семейства.

Рис. 23. Настройка Geany: вкладка Инструменты

Пользователям Zenwalk и некоторых других дистрибутивов (например, Debian) необходимо переопределить строку Браузер, где по умолчанию фигурирует Firefox: поскольку такового у них в системе не имеется, здесь следует указать Iceweasel (или любой другой, в соответствие с личными предпочтениями).

Во вкладке Шаблоны (рис. 24) вводятся те самые личные сведения, которые потом окажутся в комментариях ко всем файлам, создаваемым посредством действий Файл -> Новый (с шаблоном) -> [тип файла]: имя и фамилия автора, адрес его электронной почты и тому подобное. В отличие от всех остальных изменений, вступающих в действие немедленно по нажатии кнопки Применить или OK в правом нижнем углу панели настроек, переопределение сведений о шаблоне обретет силу только при следующем запуске Geany.

Рис. 24. Настройка Geany: вкладка Шаблоны

Во вкладке Привязка (рис. 25) можно переопределить «горячие» клавиши для всех действий, предусмотренных в редакторе Geany, а также приписать их тем действиям, к которым никакие клавишные комбинации по умолчанию не определены. То есть сделать то, к чему нас призывали разработчики в меню Помощь -> Горячие клавиши.

Рис. 25. Настройка Geany: вкладка Привязки

Для переопределения существующих клавишных комбинаций или создания новых достаточно выделить в списке нуждающееся в этом действие и нажать кнопку Изменить (или просто щелкнуть на нём дважды). После этого, по появлении панельки Захватить клавишу, надо набрать желаемую комбинацию клавиш, которые тут же высветятся на панельке, и затем нажать кнопку OK (рис. 26).

Рис. 26. Настройка Geany: переопределение горячих клавиш

Клавиатурные комбинации можно редактировать и напрямую: для этого надо лишь, выделив строку подлежащего изменению действия, щелкнуть мышью непосредственно на обозначении горячих клавиш для него, после чего ввести желаемые значения вручную.

Мы не будем останавливаться на вопросе, какие сочетания горячих клавиш следует использовать для тех или иных действий: это вопрос сугубо личный, можно даже сказать — интимный.

Мало что скажем также и о вкладке Печать, ибо следуем заповеди POSIX’ивистов, сформулированной Сергеем Голубевым: не настроил принтер — сохранил дерево. Так что тем, кто деревьев не жалеет, в содержимом этой вкладки (рис. 27) предоставляется разбираться самостоятельно.

Рис. 27. Настройка Geany: вкладка Печать

А вот на содержании вкладки Терминал (рис. 28) стоит остановиться подробнее.

Рис. 26. Настройка Geany: вкладка Терминал

Перво-наперво здесь можно определить шрифт для терминального окна, его цвет и цвет фона — это делается через панель выбора цвета, о которой мы говорили при рассмотрении главного меню. Весьма элегантно выглядит оформление в общих тонах всего редактора, что легко сделать с помощью упомянутой ранее «пипетки». Ну а шрифт и его размер каждый определяет в соответствие со своими вкусами и диоптриями.

Далее определяется число строк терминальной «истории», тип терминала, эмулируемый нашим виртуальным терминалом (по умолчанию выводится тот, что указан в профильном файле данного пользователя) и запускаемая в терминальном окне командная оболочка (по умолчанию это опять-таки будет login shell нашего пользователя). Два последних параметра желательно не переопределять без точного знания, что делать и зачем. А вот под терминальную «историю» на нынешних машинах можно отвести сколь угодно большое число строк.

Опции Прокрутка по нажатию на клавиши и Прокрутка по мере вывода в комментариях не нуждаются. Переопределение горячих клавиш Geany может быть полезным, если они пересекаются с кейбиндингами используемой командной оболочки. Ну и отключение вызова меню через горячую клавишу F10 может пригодиться, если в терминальном окне предполагается запускать программу типа Midnight Commander. А возможно, и в других, более жизненных ситуациях.

Включение опции Следовать пути текущего файла приведет к тому, что при каждом переключении между документами из разных каталогов, открытыми в поле редактирования, смена текущего каталога будет происходить и в командной строке. Полезно это, вредно ли, или безразлично, — зависит от конкретной ситуации.

Опция Выполнять программы в VTE предписывает направление исполнения отлаживаемых программ и скриптов в наш встроенный виртуальный терминал, вместо того, чтобы вызывать отдельное терминальное окно (той самой программы, которая ранее была указана в поле Терминал вкладки Инструменты). Такая возможность удобна, но именно при отладке обнаруживается её недостаток: остановить неправильно работающую программу во встроенном терминале невозможно без краха всего редактора. Тогда как во внешнем терминале её исполнение можно оборвать через Control+D, просто закрытием окна или, совсем на худой конец, командой xkill непосредственно в Иксах или kill -9 номер_процесса в любом независимом терминальном окне.

На этом настройку терминала можно считать законченной. Заметим только, что точно так же её можно осуществить непосредственно из вкладки Терминал окна сообщений — через контекстное меню по щелчку правой кнопкой мыши.

Собственно, и настройки Geany вообще тоже закончены. Настало время подвести некоторые итоги.

Главный из которых таков: есть мнение, что использование этой программы целесообразно для любых текстовых работ, превышающих сложностью редактирование двух-трёх строчек в пятистрочном сценарии. И судя по тому, что разработчики Zenwalk’а определили Geany, как редактор по умолчанию, вызываемый, вместо убогого Mousepad’а из Xfce, по щелчку на текстовом файле, это мнение не только наше.

Авторы настоящего очерка, в частности, перманентно применяют Geany для создания документов в форматах plain text и HTML. Удобство его для наших целей определяется возможностями выполнения команд в терминальном окне параллельно с их описанием в поле редактирования, мгновенной проверки работоспособности командных конструкций, автоматизацией ввода наиболее часто используемых HTML-тегов, сочетанием средств навигации внутри находящегося в работе текста с функциями обзора файловой системы и многим, многим другим.

Иными словами, в Geany очень удачно реализовано совмещение функций обычного, хотя и весьма развитого текстового редактора с ограниченными, но для наших целей более чем достаточными средствами специализированного web-инструментария.

Надо ли говорить, что и настоящий очерк сочинялся в редакторе Geany? Как, впрочем, и большая часть всех остальных материалов, имеющих отношение к книжке Zenwalk: приобщение к Linux и проекту Zenwalk: пакет недели.

В заключение подчеркнём, что всё сказанное здесь о редакторе Geany относилось к его применению исключительно обычными пользователями, имеющими дело с обработкой текстов общего назначения и их минимальной разметкой. Описание его с точки зрения программиста ждёт своего автора.

Текстовый редактор Geany: 3 комментария

  1. Спасибо, хоть и пользуюсь им на уровне текстового процессора с подстветкой,
    но Ваша статья расширила мой кругозор, и возможности удобной работы с этим замечательным IDE.
    Про тэги бы узнать подробней ещё))

  2. Установил IDE Geany — кроссплатформенный редактор для работы в ОС Windows на языке FreeBasic.
    Очень хочу работать в кодировке DOS-866 (в Geany — CP866), но не могу!
    При чтении Geany не понимает эти «устаревшие» кодировки…
    Посоветуйте, п-л-и-и-и-з-з-з, победить удобную IDE!
    Сказать, что я начинающий пользователь — значит ничего не сказать! Просто — НИКАКОЙ!

    Заранее благодарю за поддержку…

  3. 2 Евгений

    у меня линукс
    в окне настроек на вкладке «файлы» можно выбрать кодировку

Обсуждение закрыто.