Как однажды заметил Джон Грубер, блоги -- удобное место для того, чтобы оставлять в них всякие полезные советы, потому что потом людям проще их находить Google'ом, который традиционно дает блогам высокий приоритет в результатах поиска.
Эта заметка как раз из этой серии, о том, как настроить редактор SciTE для удобной работы с русским языком в Линуксе.
Ссылка на SciTE с самого начала висит на главной странице моего блога, и там написано, что это удобнейший текстовый редактор для программиста. Писал я это по опыту пользования им в Windows. А вот в линуксовой версии SciTE обнаружились пренеприятные минусы:
Однако, это все исправляется.
Сначала считаю своим долгом любому программисту порекомендовать очень правильные шрифты: DejaVu (в частности моноширинной шрифт). Правильные они во-первых тем, что хорошо выглядят на довольно маленьких размерах (я пользуюсь восьмеркой), а во-вторых, там учтены важные для кода вещи: четкое различное начертание единицы, маленькой латинской "l" и большой латинской "I", различное начертание цифры "0" и буквы "O" и т.д.
Кстати, DejaVu основаны на шрифтах Bitstream Vera, которые и так есть в большинстве Линуксов по умолчанию, но беда в том, что в моей Ubuntu русская часть этих шрифтов - это вообще что-то другое. Просто совершенно другое начертание, кошмарно выглядит и невозможно читать.
Чтобы прописать их в SciTE, открываете файл настроек (Options, Open User Options File) и пишете туда:
font.monospace=font:!DejaVu Sans Mono,size:8
Не забудьте восклицательный знак перед названием шрифта: он как раз и включает сглаживание шрифтов в SciTE.
Я еще также прописываю этот же шрифт для всех остальных режимов (не представляю, как можно программировать пропорциональными шрифтами):
font.base=$(font.monospace)
font.small=$(font.monospace)
font.comment=$(font.monospace)
font.text=$(font.monospace)
font.text.comment=$(font.monospace)
font.embedded.base=$(font.monospace)
font.embedded.comment=$(font.monospace)
font.vbs=$(font.monospace)
Единственный совет, который я нашел по поводу русского языка в SciTE мне не подошел. Из-за этой настройки у SciTE (у меня, по крайней мере) сбивается шрифт на мелкий курсив с засечками, игнорируя нормальные установки. И это ужасно... Но хуже то, что единственной доступной кодировкой в этом случае становится windows-1251. Я же все веду только в utf-8, чтобы не испытывать проблем с интернациональными алфавитами самому и не создавать этих проблем пользователям своих программ.
Чтобы включить SciTE на Линуксе в юникодный режим, надо прописать в файлике такие две магические строчки:
code.page=65001
LC_CTYPE=en_US.UTF-8
После этого все пишется и читается по-русски и по умолчанию работает в utf-8.
Комментарии: 13
StraNNicK
17.10.05 13:47
Кстати, попробуйте редактор Tea.
Мне он весьма глянулся...
P.S. Огромное спасибо за шрифты...
DenD
17.10.05 17:04
А я в работе использую Quanta Plus. Продукт позиционирует себя как "среда для разработки Web"
Хоть редактор и тяжеловат, но это того стоит.
Dima
17.10.05 19:42
А я не так давно нашел этот самый SciTE (до сих пор использовал в хронологической последовательности - UltraEdit, EditPlus, Notepad2, Notepad++) - и пока доволен.
Dima
17.10.05 19:45
А в качестве шрифта пробовал Anonymous, но у него русского нет. В DejaVu русский есть, но очень кривой на небольших разрешениях - поэтому остаюсь на Lucida Console.
Старынин Валерий
19.10.05 04:13
А как в SciTE открыть текст, скажем, в KOI-8?
Ringill
21.10.05 04:23
Спасибо, понравился редактор.
С anti-aliased русским в DejaVu и впрямь беда, Bitstream Vera лучше (в Debian по крайней мере).
Иван Сагалаев
23.10.05 10:21
Он не очень подходит для работы с несколькими кодировками, потому что там есть только два понятия: юникод и не юникод (8 bit). Наверное можно в качестве 8-битной кодировки прописать KOI8, но я в этом не ковырялся... Когда мне попадается файлик в win-1251 или KOI8, я сначала один раз перевожу его в utf-8 (iconv -f koi8-r -t utf-8 filename -o filename.new) и оставляю уже только новый файл и с ним работаю.
Старынин Валерий
24.10.05 02:21
А если надо поправить 100 файликов в KOI-8?
Иван Сагалаев
24.10.05 11:01
До сих пор не приходилось :-). Но если бы понадобилось, я бы написал какой-нибудь простой shell-скрипт который бы вызывал iconv и стирал-переименовывал, что нужно.
8AleX8
4.11.05 22:50
Тут с 2002 года обсуждают SciTE
Dik
6.04.06 14:15
Пользовался Tea, но что то последнее время он стал плохо определять входящую кодировку :( В связи с тем, что использую в основном utf-8 этот материал пришёлся как раз кстати, решил потестить scite. Что то подтормаживает он при запуске...
Надо всё ж таки основательно осваивать vim :)
Тугаринов Сергей
13.04.06 01:11
Иван, я опубликовал копию вашей заметки на сайте http://scite.ruteam.ru в качестве FAQ по использованию редактора SciTE.
Мне эта заметка очень пригодиться, так как в ближайщие пол года мне нужно будет переходить на Linux. Спасибо вам большое.
Pete[r]
26.07.06 12:48
А если мне надо открывать одни расширения в utf-8, а другие -- в koi8-r?
Фактически, мне нужно узнать, как настроить
code.page=...
для каждого расширения отдельно.