A A A A Автор Тема: Посоветуйте хороший текстовый редактор.  (Прочитано 7283 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Ed_Vazhorov

  • Модератор
  • *****
  • Сообщений: 4 359
  • Благодарностей: 477
  • MPC: M12, Puschino. CG5-GT, C8/C6N/80ED, SV605C/6D
    • Skype - Ed_Vazhorov
    • DeepSkyHosting: vazhorov
    • Сообщения от Ed_Vazhorov
    • Группа "Астрономия XXI"
Лично я пользуюсь SciTe. Подсвечивает синтаксис множества языков, имеет отличные фишки для програмеров типа свертывания процедур и отображения парных скобок. Поиск с заменой поддерживает RegExp.
Остановился на нем после долгих поисков. Кстати, имеется версия со скомпилированными в одном exe-файле настройками и плагинами - 710кб. Существует под множество платформ, включая Windows (я на ней)
http://www.scintilla.org/SciTE.html


http://prdownloads.sourceforge.net/scintilla/scite171.zip?download (1500кб - россыпью)
http://prdownloads.sourceforge.net/scintilla/wscite171.zip?download (710кб - все в одном).

Чтобы нормально работал русский, надо взять из дистриубтива россыпью файл SciTEGlobal.properties и положить в папку, откуда будет запускаться exe-файл "все в одном".


Есть еще более радикальный текстовый редактор, написаный японцем.
Его почти никто у нас не знает, т.к. он не поддерживал русскую кодировку. Я попросил автора, профессора программирования, разобраться с этим вопросом, и теперь это мой любимый редактор в пути (лежит на флешке).
Итак, GreenPad http://www.kmonos.net/lib/gp.en.html в распакованом виде занимает  всего 100кб.
Понимает синтаксисы основных языков, включая интернетовские HTML, Perl, PHP, Java. Поддерживает RegExp.
Работает очень быстро. Открывает мгновенно ОГРОМНЫЕ файлы. (похоже, написан на Asm-е)
Пашет на платформах Windows 95/98/Me/NT4/2000/XP/2003
Компетентно заявляю, что это самый компактный, и при этом, самый быстрый текстовый редактор с подсветкой синтаксиса.
Понимает кучу кодировок (в т.ч. юникод и многие национальные), но если он ее сразу не распознал (может быть), это решается выбором из списка по горячей клавише.

http://www.kmonos.net/lib/arc/gp1062a.zip (67кб)

(не беспокойтесь, по ссылке идет версия с английским интерфейсом)
« Последнее редактирование: 23 Сен 2006 [20:13:39] от Ed_Vazhorov »

Оффлайн boch

  • *****
  • Сообщений: 17 492
  • Благодарностей: 661
  • Наши предки ели репу! Я видел Большую Медведицу!
    • Сообщения от boch
Что новенькое появилось за эти годы? Прогрессировал ли NOTEPAD+ и стоит ли на него ориентироваться... и если прогрессировал, то в какую сторону. Лучше всего ответили бы пользователи данного продукта. В раздумье...
2 раза я был предельно астрономически счастлив - подготовив семейство комет Мейера и вычислив точную дату перигелия 1-ой межзвездной кометы - открытий века и тысячелетия.

С точки зрения памяти о тебе - реальность и вымысел равноправны.

Одноночка- астероид наблюдавшийся одну ночь (не баба на ночь).

Оффлайн LeonidOS

  • Первооткрыватель комет, астероидов, сверхновых звезд
  • *****
  • Сообщений: 5 205
  • Благодарностей: 289
  • H15, Q60, N82, O75
  • Награды Открытие комет, астероидов, сверхновых звезд, научно значимые исследования.
    • Сообщения от LeonidOS
Я использую Notepad++

Оффлайн Ed_Vazhorov

  • Модератор
  • *****
  • Сообщений: 4 359
  • Благодарностей: 477
  • MPC: M12, Puschino. CG5-GT, C8/C6N/80ED, SV605C/6D
    • Skype - Ed_Vazhorov
    • DeepSkyHosting: vazhorov
    • Сообщения от Ed_Vazhorov
    • Группа "Астрономия XXI"
Была создана отличная сборка SciTe Ru-Board Edition http://scite.ruteam.ru/
Там есть все, ну, или практически все, что нужно для жизни, включая поддержку макросов и языка Lua, кучи уже созданных полезных скриптов-макросов.
А главное, теперь этот редактор очень быстро работает с большими текстами и кодами.
Пользуюсь в работе и очень доволен.


Оффлайн cosmonaut

  • *****
  • Сообщений: 2 799
  • Благодарностей: 22
  • Йа ласковый и добрый кошко
    • Skype - zosima2000
    • Сообщения от cosmonaut
DS 90/700
1/6,3 175 мм Ньютон в работе

Оффлайн boch

  • *****
  • Сообщений: 17 492
  • Благодарностей: 661
  • Наши предки ели репу! Я видел Большую Медведицу!
    • Сообщения от boch
Вскочила задачка заменить в тексте одни символы другими. Замена легко делается в редакторе текстовом. если текст маленький. Если текст более весомый по объему, то замена делается длительное время. Мегабайтный текст проходит процедуру длительное время...
Если размер текста - ну очень большой- то компьютер просто зависает.
И как поступать в таком случае? не пользоваться заменой символов в редакторе?
Тогда в чем? вроде задачка примитивная, а правильный метод не могу придумать.
Кто как поступает в данном случае.
Для определенности примем, что текст может быть практически бесконечно большим... Возможно ли реальными программами преобразовать бесконечно большой текст за бесконечно большое время??? Приходит в голову конвейерная обработка... но как это сделать на практике.
Жду советов, как соловей летов...
2 раза я был предельно астрономически счастлив - подготовив семейство комет Мейера и вычислив точную дату перигелия 1-ой межзвездной кометы - открытий века и тысячелетия.

С точки зрения памяти о тебе - реальность и вымысел равноправны.

Одноночка- астероид наблюдавшийся одну ночь (не баба на ночь).

Оффлайн Ed_Vazhorov

  • Модератор
  • *****
  • Сообщений: 4 359
  • Благодарностей: 477
  • MPC: M12, Puschino. CG5-GT, C8/C6N/80ED, SV605C/6D
    • Skype - Ed_Vazhorov
    • DeepSkyHosting: vazhorov
    • Сообщения от Ed_Vazhorov
    • Группа "Астрономия XXI"
2boch. Для обработки больших текстов (поиск/замена и т.п.) нужны не редакторы, а скрипты на соответствующих языках высокого уровня, поддерживающих RegExp.
Лично я для этого использую Perl (freeware), ибо он для этого, в принципе, и был  придуман. В моем случае, 40-мегабайтную базу ссылок сайтов сортирует по выбранным критериям (например, домен первого уровня) за какие-то несколько секунд.
Есть еще язык Lua (freeware). К слову, он встроен в вышеописанный редактор SciTe и может помочь с автоматизацией рутинных операций над достаточно большими текстами. Сам SciTe неплохо справляется с несколькомегабайтными текстовыми файлами. Но 42Мб файл хоть и открыл за пару секунд, поиск с заменой выполнял несколько минут.
Кстати, Lua по португальски "Луна".

Оффлайн Ed_Vazhorov

  • Модератор
  • *****
  • Сообщений: 4 359
  • Благодарностей: 477
  • MPC: M12, Puschino. CG5-GT, C8/C6N/80ED, SV605C/6D
    • Skype - Ed_Vazhorov
    • DeepSkyHosting: vazhorov
    • Сообщения от Ed_Vazhorov
    • Группа "Астрономия XXI"
Шутки ради я создал простенький скрипт для быстрого поиска и замены текста в больших текстовых файлах.
В архиве ядро Perl и скрипт searchreplace.pl

Для замены текста копируем файл-источник в папку, куда распакован архив, и запускаем команду в командной строке файлменеджера (я использую FAR).

perl searchreplace.pl файл_источник.txt файл_результат.txt  "что_найти" "на_что_заменить"
Если какие то спецсимволы не хотят идти из командной строки,
можно в скрипте searchreplace.pl приравнять к ним переменные $from="что найти" и $to= "на что заменить".

#поиск с заменой в больших файлах
#аналог консольной команды perl -i_.txt -pe 's/\r\n/\n/' result.txt с поддержкой binmode

if (@ARGV) {
$source=$ARGV[0]; #файл источник
$result=$ARGV[1]; #файл результат
$from=$ARGV[2]; #что искать
$to=$ARGV[3]; #на что заменить

$from =~ s/([\W])/\\$1/sg;

if (open(SOURCE, $source)) {
local $/ = "\n";
@sourcetext = <SOURCE>;
close (SOURCE);
open(RESULT, ">$result");
binmode (RESULT);
foreach $text (@sourcetext) { 
$text =~ s/$from/$to/g;
print RESULT "$text";
}
close (RESULT);
}
}

На моем ноутбуке (Dual-Core 1,7Ghz, 1 Gb) 42-мегабайтный текстовый файл обрабатывает примерно секунд за 15.
« Последнее редактирование: 01 Мар 2011 [17:16:48] от Ed_Vazhorov »

Оффлайн Ed_Vazhorov

  • Модератор
  • *****
  • Сообщений: 4 359
  • Благодарностей: 477
  • MPC: M12, Puschino. CG5-GT, C8/C6N/80ED, SV605C/6D
    • Skype - Ed_Vazhorov
    • DeepSkyHosting: vazhorov
    • Сообщения от Ed_Vazhorov
    • Группа "Астрономия XXI"
Если текстовый файл огромен (например, 1 Гб) и оперативки не так много, всегда можно разделить файл на части в тех же файлменеджерах. Во Free Commander для этого есть команда "Файл-Разделить". Потом файлы можно будет собрать при помощи запуска команды с таким же названием и расширением .bat, который автоматически создается в папке вместе с кучей файлов с расширениями .001, .002, .003 и т.п. (куски исходного файла).

Разумеется, после произведения операции над частями файла, результаты надо переименовать в источники (например, _Text.001 перемеиновать снова в Text.001 и т.п.) , чтобы командный файл Text.bat для сложения частей воедино работал, либо, открыть для редактирования Text.bat и подправить в нем имена слагаемых файлов.

Оффлайн boch

  • *****
  • Сообщений: 17 492
  • Благодарностей: 661
  • Наши предки ели репу! Я видел Большую Медведицу!
    • Сообщения от boch
В последнем абзаце предыдущего сообщения имеется в виду, что если исходный файл разбивался на части, а части преобразованного файла шли с впереди идущим "индексом" "подчерк", то перед сборкой подчерк нужно удалить, чтобы сборка состоялась.

Я уже опробовал способ предложенный выше. Хорошо работает. Советую всем не мучиться с преобразованиями текстов большого объема в редакторах, а использовать методы подобные выше предложенному.
2 раза я был предельно астрономически счастлив - подготовив семейство комет Мейера и вычислив точную дату перигелия 1-ой межзвездной кометы - открытий века и тысячелетия.

С точки зрения памяти о тебе - реальность и вымысел равноправны.

Одноночка- астероид наблюдавшийся одну ночь (не баба на ночь).

Оффлайн Galaxy Master

  • *****
  • Сообщений: 858
  • Благодарностей: 33
    • Сообщения от Galaxy Master
Зачем какие-то текстовые редакторы для замены в файлах? тем более больших...!!!

cat file.txt | sed s/'что заменить'/'на что заменить'/g > out.txt

и как-бы все...
Debian GNU/Linux

Оффлайн Ed_Vazhorov

  • Модератор
  • *****
  • Сообщений: 4 359
  • Благодарностей: 477
  • MPC: M12, Puschino. CG5-GT, C8/C6N/80ED, SV605C/6D
    • Skype - Ed_Vazhorov
    • DeepSkyHosting: vazhorov
    • Сообщения от Ed_Vazhorov
    • Группа "Астрономия XXI"
Зачем какие-то текстовые редакторы для замены в файлах? тем более больших...!!!
cat file.txt | sed s/'что заменить'/'на что заменить'/g > out.txt
и как-бы все...
Это в Unix. Речь идет под Windows.
Под Windows тоже можно использовать команду-oneliner Perl для поиска с заменой в больших файлах.

perl -i_.txt -pe 's/что_заменить/на_что_заменить/' result.txt
но в результате у файла Perl автоматом добавляет CR LF в конце каждой строки, что в некоторых случаях не желательно. К тому же, некоторые спецсимволы из командной строки в Windows передать не удастся в силу специфических особенностей командного процессора. Поэтому я написал скрипт, выложенный выше. Он работает примерно в 1,5 раза медленнее oneliner-команды Perl.

Оффлайн pterodaktil

  • *****
  • Сообщений: 4 210
  • Благодарностей: 64
  • Евгений
    • Skype - pterodaktil02
    • Сообщения от pterodaktil
и где же качнуть емакс под винду?
Невероятно но факт на офф сервере gnu.
Хотя емакс  не особо подойдет Владимиру ИМХО. Это скорей конструктор лего, чем "поставил и пользуйся"
Куплю космический челнок, способный покинуть пределы солнечной системы.
Моя on-line метеостанция

Оффлайн Самодуров ВладимирАвтор темы

  • ASTRONOMY.RU
  • *****
  • Сообщений: 13 783
  • Благодарностей: 600
  • Пусть цветут сто цветов! Кроме сорняков...
    • Сообщения от Самодуров Владимир
    • АстроТоп России
Я использую Notepad++
Да, вещь очень хорошая. Кое-какие недоработки еще остаются (по сравнению с требуемым лично мне идеалом - так и не научился, как Aditor в свое время - автораспознавать, какая именно русская кодировка в файле) - но они уже мизерны. Пользуюсь в основном им и иногда все же Aditor-ом.
Нужны ли мы нам? ((С)  Братья Стругацкие)

Оффлайн Galaxy Master

  • *****
  • Сообщений: 858
  • Благодарностей: 33
    • Сообщения от Galaxy Master
Зачем какие-то текстовые редакторы для замены в файлах? тем более больших...!!!
cat file.txt | sed s/'что заменить'/'на что заменить'/g > out.txt
и как-бы все...
Это в Unix. Речь идет под Windows.
Под Windows тоже можно использовать команду-oneliner Perl для поиска с заменой в больших файлах.

perl -i_.txt -pe 's/что_заменить/на_что_заменить/' result.txt
но в результате у файла Perl автоматом добавляет CR LF в конце каждой строки, что в некоторых случаях не желательно. К тому же, некоторые спецсимволы из командной строки в Windows передать не удастся в силу специфических особенностей командного процессора. Поэтому я написал скрипт, выложенный выше. Он работает примерно в 1,5 раза медленнее oneliner-команды Perl.

Под windows можно поставить cygwin и ни в чем себя не ограничивать
« Последнее редактирование: 13 Мар 2011 [13:11:44] от Ed_Vazhorov »
Debian GNU/Linux

Оффлайн boch

  • *****
  • Сообщений: 17 492
  • Благодарностей: 661
  • Наши предки ели репу! Я видел Большую Медведицу!
    • Сообщения от boch
Пользуясь Notepad заметил, что документы в нем составленные, при их перекопировывании в электронное сообщение для отправки по элпочте иногда перекодируются в Base64 и не могут быть прочтены на приемной стороне адресатом. Я понимаю, что это вряд ли связано с редактором - не может же он без моего желания перекодировывать текст. Тогда что - сервер почтовый виноват? И для чего вообще тогда делается подобное перекодировывание ... А может просто вирусня какая завелась? хотя антивирусник стоит... правда последние патчи операционки не были пропатчены, но антивирусник обновляет базу ежедневно. Есть мнения?
Главное что меня интересует - на каком этапе происходит перекодировка и что сделать, чтобы текст не перекодировывался...
2 раза я был предельно астрономически счастлив - подготовив семейство комет Мейера и вычислив точную дату перигелия 1-ой межзвездной кометы - открытий века и тысячелетия.

С точки зрения памяти о тебе - реальность и вымысел равноправны.

Одноночка- астероид наблюдавшийся одну ночь (не баба на ночь).

Оффлайн Ed_Vazhorov

  • Модератор
  • *****
  • Сообщений: 4 359
  • Благодарностей: 477
  • MPC: M12, Puschino. CG5-GT, C8/C6N/80ED, SV605C/6D
    • Skype - Ed_Vazhorov
    • DeepSkyHosting: vazhorov
    • Сообщения от Ed_Vazhorov
    • Группа "Астрономия XXI"
2boch, если вы прикрепляете текстовый файл к письму, он автоматом кодируется в Base64, каким бы клиентом вы не пользовались для отправки.
Если хотите отправлять текст без перекодирования, вставляйте его в само письмо из клипборда. Главное, чтобы там не было особых управляющих спецсимволов, а только обычные буквы и знаки препинания.