===[ Программы ]=== #post-id: 5789-10-48 #original-date: 1.06.2016 Wed #original-time: 10:48 AM #original-day: 5789 #original-host: WinXP Prof SP3 (Build 2600) Тут я попытаюсь описать все текстовые редакторы, которыми пользуюсь, пояснить, зачем я это делаю, почему, и с каким трудностями встречаюсь ^^' *Dana* https://pics.lindachan.net/2016/06/editors/Screenshot%202016-06-02%2012-13-24.PNG Это такой старый японский редактор, созданный авторами почтовика Becky! В нём я раньше много чего делала, но нынче пишу только посты для дайриков. Тут есть подсветка синтаксиса, всё настраивается, но возможности сильно ограничены по сравнению с той же Скинтиллой (это, собственно, сам контрол, в котором редактируется текст и который используют многие другие редакторы, добавляя от себя лишь интерфейс и сервис). Есть встроенный скриптовый язык, похожий на Basic, но у него есть ряд проблем, когда одно неловкое движение может обрушить программу. Например, скрипт, который запрашивает размер текста в текущем окне, валит программу на третий или четвёртый раз. А может и не свалить ^^ Собственно, я использую именно его для дайриков потому, что настроила для него схему подсветки BB кодов, а также написала большой скрипт (https://www.lindachan.net/programs/dana.htm), который добавляет кучу хоткеев для вставки этих кодов и некоторых вещей вроде музыки и заголовка поста. Нечто подобное я пыталась сделать в Notepad++. Со схемой подсветки я ещё справилась (она определяется как User-defined language), а вот хоткеи нужно заворачивать в отдельный плагин =_= Короче, до сих пор пользуюсь, поскольку не нашла замены. /* Я ещё хотела то же самое сделать в AkelPad, но там не поняла как связать скрипты с самим редактором так, чтобы на каждый чих не писать отдельный скрипт с отдельным хоткеем. Есть ещё вариант с Вордом, который я точно осилила бы, но это уже слишком ^^' */ Использование этого текстового редактора я свела к минимуму ещё и потому, что ко мне пришёл UTF-8. Юникод этой программой вроде как поддерживается, но, поскольку она ANSI (и запускается в Windows 98), делается это через всякие хаки и самостоятельную прорисовку контента. В результате программа с ним ведёт себя неадекватно: странно выводит текст, странно переносит слова, странно обрабатывает, русский язык не набирается. Кстати, по этой причине у меня все файлы с постами для дневников хранятся в windows-1251. Из сильных сторон редактора – система бэкапов файлов. Тут отдельной опцией делаются зеркальные копии в одной куче и файлы с «номерами» другой опцией. Правда, в своём скрипте я всё равно сделала третью систему бэкапов, которую сначала перетащила в Notepad2 (и FocusWriter), а потом сделала и модуль для VB программ. *Notepad2* https://pics.lindachan.net/2016/06/editors/Screenshot%202016-06-02%2012-14-30.PNG Этот редактор пришёл на смену Дане, хотя и не сразу. Поначалу он мне не нравился, хотя я о нём знала очень давно. Потом решила попробовать, разобралась с настройками цветов, настроила, ну он и прижился. Тем более что за это время он заметно улучшился и стал удобнее. Notepad2 я использую для всего. Правлю конфиги, пишу заметки, редактирую что-нибудь. Он у меня – дефолтный редактор, даже встроенный блокнот я на него заменила, правда, не дуболомно, а через Notepad Proxy (https://www.lindachan.net/programs/win32.htm) ^^ Точнее, я использую не оригинальную версию, а свой Yamato Notepad2 (https://www.lindachan.net/programs/custom_builds.htm) с бэкапами, правильными хоткеями и ещё чем-то. Версия уже сильно устарела, но она работает, а новые почему-то любят в произвольные моменты времени вылетать, будучи запущенными не на дефолтном рабочем столе. Разбираться в коде мне было лень, поэтому я и не обновляю старую версию. Кстати. Только что я выяснила, что на моих компьютерах версия даже старее, чем на моём же сайте. Тоесть я использую стабильную проверенную версию, а людям предлагаю свежую (ну, с 2012 года он в стазисе). Хотела восстановить предыдущую версию отдельным файлом, а исходники и прочее остались на мёртвом винте =_= Придётся восстанавливать что есть =_= В Notepad2 есть поддержка кучи кодировок, он юникодный, можно указать, как воспринимать текущий файл, если кодировка неправильно распозналась, а потом можно сохранить файл с новой кодировкой. Такое разграничение очень удобно и не компостирует мозги, хотя используемые при этом термины («Recode» и «Set Encoding») постоянно конфузят. *Notepad++* https://pics.lindachan.net/2016/06/editors/Screenshot%202016-06-02%2012-16-14.PNG Тяжёленький редактор на той же Скинтилле, позиционируемый как программерский. Честно говоря, ничего такого особенного, чего бы не было в других «программерских» блокнотах (ну, не считая всяких плагинов), я не обнаружила. Я когда-то его пыталась использовать серьёзно для рассказов и прочего, даже йумористическую картинку (https://pics.lindachan.net/2016/03/Screenshot%202014-01-03%2020-42-42.PNG) с ним нарисовала. Но из-за того, что у него какие-то проблемы с символами табуляции, пришлось отказаться. Ну, тоесть я использую табы для отступа в начале абзаца в рассказе, а в программном коде – только пробелы. В Notepad2 у меня вводятся по умолчанию пробелы, а через Ctrl+Tab вводятся табы. Notepad++ злостно превращает табы в пробелы, руководствуясь настройками, а не здравым смыслом, поэтому рассказы писать стало невозможно. Я вставляю таб, пишу абзац, перехожу на следующий, а Notepad++ не дублирует предыдущий отступ, а вставляет эквивалентное количество пробелов. А потом открываешь текст в другой программе, а отступы скачут. Ещё проблема – местами настройки тут из серии «Поставь галочку здесь – сломается половина остальных», особенно в портабельном режиме. Плагины любят засирать папку программы безо всякого контроля. При неудачном обновлении плагина, например, если файл с плагином не удалось скачать, из-за кода, не рассчитанного на ошибки, можно потерять уже установленный (программа сначала удаляет предыдущую версию, а потом начинает качать новую). Короче, всё, что меня бесило в Миранде (хоть она и не текстовый редактор), есть тут. Но авторы не правят и не рефакторят, авторы добавляют никому не нужные фичи вроде «облачных настроек». Но всёже я его периодически использую. Например, когда мне нужно отредактировать пачкой кучу файлов – удобно открыть их все во вкладках. Плюс имеется замена (в том числе и по регулярным выражениям) во всех открытых файлах, что, например, мне сильно помогло, когда я свой сайт оптимизировала для поисковиков. Также в нём я люблю писать некоторые скрипты. В принципе, это можно делать и в Notepad2, но Notepad2 и так замылил глаз, так что для свежести взгляда я и открываю Notepad++. У Notepad++ присутствует система бэкапов, которая не так крута, как у меня в Yamato Notepad2 и Бэки, но всёже она есть ^^' Есть также всякие сессии и сохранение файлов без сохранения изменений, если закрыть окно с изменёнными файлами, но это всё – фигня, которая только конфузит, и я её вырубаю. В Notepad++ есть поддержка разных кодировок, но она сделана криво, и в ряде случаев нельзя сконвертировать одну в другую – приходится делать это другим редактором. Например, открылся файл в shift_jis, а Notepad++ решил, что он в турецкой кодировке. Нельзя сказать, что это вот shift_jis, можно только сказать, во что сконвертировать и без того неправильно определённую кодировку. Это часто очень напрягает. Кстати, у Notepad++ есть проверка орфографии. Довольно неплохая, не тормозящая и не съедающая половину памяти компьютера, если выбрать в качестве движка Hunspell. Правда, у него пользовательские словари несколько хитрые, так что синхронизируются они у меня только в режиме записи. Ну, тоесть Dic Sync (https://www.lindachan.net/programs/win32.htm) берёт свой большой словарь и перезаписывает словарь исключений Notepad++, но никогда не читает, что там записано. *FAR Edit* https://pics.lindachan.net/2016/06/editors/Screenshot%202016-06-02%2012-16-36.PNG https://pics.lindachan.net/2016/06/editors/Screenshot%202016-06-02%2012-17-00.PNG https://pics.lindachan.net/2016/06/editors/Screenshot%202016-06-02%2012-17-22.PNG Встроенный в FAR текстовый редактор. Ещё один редактор для всего: поправить, скопировать, посмотреть, сменить кодировку. Он всегда под рукой, поскольку я использую FAR. В нём нет нормального переноса текста (хотя, есть плагин, который вставляет переносы как Pico, но не позволяет выравнивать уже отформатированный таким образом текст), поэтому это редактор для конфигов и списков, а не для творчества. Также он лихо заменяет табы на пробелы и может некоторые символы преобразовать, если они ему чем-то не понравятся. По крайней мере в первой версии это у него было сплошь и рядом даже в юникодных файлах OO Так что, если есть опасность что-то испортить в тексте, я нажму Alt+F4 и стартую «внешний редактор», тоесть Notepad2. В нём есть подсветка синтаксиса (правда, через расширение, по крайней мере во второй версии), которая, правда, иногда притормаживает открытие файла, если редактор запускается в этой копии FAR впервые (инициализируются все схемы разом). Но субъективно, она работает лучше, чем во всех прочих. Там огромная куча схем и языков, некоторые комбинируются! Например, в HTML работает CSS и JavaScript, а в HAML – Ruby код. *AkelPad* https://pics.lindachan.net/2016/06/editors/Screenshot%202016-06-02%2012-51-05.PNG https://pics.lindachan.net/2016/06/editors/Screenshot%202016-06-02%2012-51-15.PNG https://pics.lindachan.net/2016/06/editors/Screenshot%202016-06-02%2012-51-33.PNG https://pics.lindachan.net/2016/06/editors/Screenshot%202016-06-02%2012-51-40.PNG https://pics.lindachan.net/2016/06/editors/Screenshot%202016-06-02%2012-51-48.PNG Этот редактор в прошлом я сильно не любила. Notepad2 я тоже не любила, но этот был ужасен, куц и вообще. Но его пихали повсюду, что от него не было проходу. Это было даже хуже, чем Bred – тот редактор мне хотябы только один человек рекламировал (и постоянно пытался впихнуть на компьютер, стоило только отвернуться). Этот же почему-то любили все. Потом волна прошла, я забыла про AkelPad. Меж тем у программы сменился разработчик, разработка закипела и однажды AkelPad появился на PortableApps.com (http://portableapps.com). Ради прикола я скачала его и попробовала. Что-то в нём было такое, что заставило меня то и дело запускать его. Потихоньку я его настроила, избавила от запускателя, когда выяснила, что он и без костылей портабелен, ну и приспособила для творчества. Тут у меня табы не заменяются на пробелы. Плюс вместо стандартных для меня двух пробелов, табы тут – четыре пробела. Это затрудняет редактирование программного кода, зато оказалось очень удобно для написания рассказов. Фактически я начала пользоваться этим редактором только из-за табов! Это была отдельная программа, от которой не требовалась универсальность в табах, как, например, в Notepad2 ^^ Чтобы было веселее, я раскрасила всё как у меня было в Дане и Notepad2, а позже начала ваять цветовые схемы для разнообразия. Тут у меня и стандартная для меня схема чёрным по светло-жёлтому (подсмотрела где-то в начале нулевых, и она очень понравилась), и Solarized, и хакерская (зелёным по чёрному), и даже в стиле QuickBasic (серым по синему с красной активной строкой)! Когда надоедает одна, я быстро переключаюсь на другую. Это, кстати, никак не мешает раскраске кода, которая осуществляется отдельным плагином и вообще не базируется на выбранной цветовой схеме, а использует собственную схему. Поначалу это кажется непривычным, но потом оказывается довольно удобным в условиях, когда цветовые схемы меняются раз в неделю. В других редакторах при перенастройке цветовой схемы раскраска кода накладывается на неё, и изменение даже цвета фона может сделать код нечитабельным. Ещё в AkelPad есть поддержка разных кодировок, по функционалу как у Notepad2, но без путаницы в терминах («Открыть как» и «Сохранить как» в меню кодировок). Можно скрыть редкие кодировки и оставить только те, что часто используются. Системы бэкапов нет, и я пока не реализовала её. Доков по плагинам толком нет, так что легче положиться на сохранение версий в каком-нибудь дропбоксе. Ещё есть прикольная фича – плагин сессий, который запоминает открытые файлы при выходе. Прикольна она тем, что выбор места хранения сессий независим от того, где программа хранит настройки. Если указать этим местом папку пользователя, но саму программу сделать портабельной, то пропадёт головная боль от того, что при открытии программы на другой машине она ругается на несуществующие файлы. Тоесть на этой машине у меня открыты файлы с диска C, на другой – с диска Y, но при этом файлы синхронизируются, и настройки везде одинаковые. Ещё любопытная штука, которую я никогда не использую в других программах, но тут из-за творческой ориентированности она как нельзя кстати, – это автосохранение на каждый чих. Окно потеряло фокус – сохранение, прошла минута – сохранение, переключилась вкладка – сохранение. Можно сконцентрироваться на творчестве и не жмакать каждый раз Ctrl+S. В других редакторах, скажем, при правке конфигов, хочется сначала правильно оформить какой-то блок и только потом сохранять, чтобы программа ненароком не подхватила битые записи, а тут такой опасности нет. Тут есть вкладки, если включено много файлов в одном окне. При чём, тут честный виндовый MDI интерфейс с дочерними окошками, возможностью их разложения и всем подобным. В Дане, кстати, было так же, но не было именно вкладок, чтобы можно было переключать мышкой – только Ctrl+F6 и меню «Window». Ещё тут есть не только привычные вкладки, но и «плоские», чем-то похожие на кнопки на панели задач, разве что неактивные тут не выпуклы. Такой прикол раньше я встречала только в примерах контролов от Desaware, а в живой природе увидела только в AkelPad. Выглядит симпатично ^^ Имеется проверка орфографии через Aspell. Работает, добавляет исключения, синхронизируется на чтение и запись, но тормозит. Точнее, оно не то чтобы тормозит, но сожрать под двести метров памяти может запросто. Короче, сомнительное удовольствие, поэтому на Ctrl+Alt+W у меня повешен такой скрипт ^^ > Option Explicit > > Dim FileName > Dim WSHShell > > FileName = AkelPad.GetEditFile(0) > 'MsgBox FileName > > Set WSHShell = CreateObject("WScript.Shell") > WSHShell.Run "WinWord.EXE """ & FileName & """", 10, False *FocusWriter* https://pics.lindachan.net/2016/06/editors/Screenshot%202016-06-02%2012-21-25.PNG https://pics.lindachan.net/2016/06/editors/Screenshot%202016-06-02%2012-22-32.PNG Необычный текстовый редактор, который направлен на продуктивность и неотвлекаемость сосредоточенно пишущего автора. Тут интерфейс уезжает на задний план™, окно разворачивается на весь экран, но при этом текст не растягивается на все 1920 пикселей, заставляя автора мотать головой. Можно настраивать простенькие темы: шрифт, цвета, фоновая картинка, подложка – всё, чтобы поймать настроение. Ну и присутствует киллер фича вроде таймеров-будильников и – самое главное! – дневной нормы слов, которая подсчитывается по мере набора текста и о достижениях сообщается небольшим немодальным попапом. Мотивирует! Программа портабельна, есть проверка орфографии, словари синхронизируются. Я даже делала свой билд (https://www.lindachan.net/programs/custom_builds.htm) с поддержкой бэкапов и BOM в файле – в оригинале BOM убирается. Ну и расширение EDT добавила в маски – это моё расширение для текстовых файлов в DOS кодировке, оставшееся с давних времён (от Edit – текстового редактора MS DOS). Правда, билд уже очень несвежий, поскольку процесс сборки неочевиден, а от автора добиться внятных инструкций почти невозможно. В первый раз я угадала, как это делать, а когда вышла новая версия, мне её больше не удалось собрать, на чём я и завершила развитие форка. А теперь о недостатках и о том, почему эту программу я запускаю чисто чтобы погрустить об упущенных возможностях. Программа написана на плюсах с библиотекой Qt. По сути там тот же Блокнот, но с хитрым интерфейсом. Так вот этот блокнот занимает сорок метров со всеми рантаймами. Тот же Notepad2, обладающий гораздо большим функционалом и использующий голый Win32 API, весит полметра. Кроме неудержимого потребления дискового пространства, программа страшно тормознутая. Долгая рисовка кнопок, неотзывчивость интерфейса, неожиданные подвисания при наборе текста. Да, это Qt, поэтому весь интерфейс тут тупо нарисован и заэмулирован =_= Иногда кажется, что лучше бы автор заюзал гткаку – она выглядит ещё страшнее, но хоть не так тормозит. Собственно, на этом недостатки вроде бы заканчиваются. Но их хватает чтобы положить программу на полочку в виде экспоната. *Pico (nano)* https://pics.lindachan.net/2016/06/editors/Screenshot%202016-06-02%2012-23-44.PNG https://pics.lindachan.net/2016/06/editors/Screenshot%202016-06-02%2012-26-56.PNG Если «FocusWriter» идёт в рубрике «Чудеса и приключения», то этот – в рубрике «Анекдоты». Это очень простенький и очень никсовый редактор с комбинациями клавиш вроде Ctrl+O для сохранения файла. Он по идее должен работать в консоли, но в Windows он выполнен в виде окна с меню, которое эмулирует консоль. Сам Pico – часть почтовика Pine и его форка Alpine, которые используют его для правки писем. Похоже на Бэки ^^ Главная особенность Pico – автопереносы, которые включены по умолчанию. Тоесть когда набираешь текст, кажется, что перенос по словам выполняется как в других редакторах, но на деле программа просто вставляет CRLF (CR на никсах) на месте разрыва строк. А если нужно что-то ввести в уже набранном тексте, то абзац тут же рушится, и его нужно поправить комбинацией Ctrl+J. Абзацы программа распознаёт по пустым строкам между ними или отступам в начале. Есть неочевидный момент. Справка по параметрам говорит, что есть некое дефолтное значение ширины строки, после которого программа делает автоперенос. Враньё. Автоперенос что в Pico, что в nano осуществляется по границе окна, и если консоль будет развёрнута на весь FullHD экран, строки будут соответствующими. Поэтому я сразу указываю в параметрах свой стандарт в 69 («pico.exe -r 69»). В таком случае программа будет ориентироваться на это число, а не на размеры консоли. В принципе, такое поведение можно отключить, но тогда каждую строчку нужно будет прокручивать отдельно ^^' В программе присутствует куча неочевидных, странных и тому подобных вещей. Команда Read File не открывает новый файл, а читает его и вставляет в текущий документ. Отмена операций всё ещё экспериментальная фича, которая есть только в форке – nano. Вставка из буфера обмена иногда добавляет текст, иногда – гонит его поверх имеющегося. Удалить выделенный блок нельзя, зато можно вырезать во внутренний буфер (программа в Windows работает как с буфером обмена Windows, так и с внутренним буфером), в принципе, во внутренний буфер можно только вырезать – копирования нет. При каждом сохранении файла нужно подтверждать имя, которое тут набирается ручками (ну, тоесть при сохранении нового файла его имя нужно будет ввести, а потом уже придётся просто нажимать Enter после Ctrl+O). Но всёже в этом что-то есть. Романтика какая-то ^^' Кроме того, автоформатирование может пригодиться для подготовки текстовых файлов, скажем, для сайтов или Gopher – иные броузеры текст выводят не вставляя переносы. Писать код и конфиги не рекомендуется: автопереносы, отсутствие подсветки синтаксиса... Зато редактор поддерживает Aspell для проверки орфографии ^^ *MS Word* https://pics.lindachan.net/2016/06/editors/Screenshot%202016-06-02%2012-29-24.PNG Да, Word 2003 ^^ Дома я его использую практически всегда для одного – для проверки орфографии и пунктуации в текстах. Ибо никакие Aspell'ы и иже с ними тут даже рядом не стояли. Правда, спеллчекер для русского тут делала знаменитая ЗАО «Информатик», которая не признаёт слов «Розовый» и «Голубой». А кроме того спеллчекер в некоторых случаях любит уронить программу. Правда, в 2003 падения – крайняя редкость (хотя по работе я сталкивалась с классом документов, в которых спеллчекер гарантированно валил программу), а вот Word 2000 бодро вылетал, приходилось вырубать фоновую проверку нафиг.