Блокнот

Материал из Lurkmore

(Перенаправлено с Notepad)
Перейти к: навигация, поиск
Eri x Yakumo.jpgВ эту статью нужно добавить как можно больше пасхальных яиц Блокнота и убеждений, что Vi рулит.
Также сюда можно добавить интересные факты, картинки и прочие кошерные вещи.
Kapitan ochevidnost'.jpgCaptain Obvious to the rescue!
Сия статья создавалась при активном участии Капитана Очевидность, в результате чего она пространно повествует о вещах, достаточно полное представление о которых имеет даже младенец-имбецил. Так-то!
1259141754733.jpgОсторожно! Срач в примечаниях!
Примечания к данной статье противоречат ей самой, поскольку кто-то использовал их в полемических целях.
Необходимо либо исправить статью в соответствии с примечаниями, либо удалить их нахуй.

Блокнот (пинд. notepad) — спартанский текстовый редактор, наипростейший в своем роде, который видал малобитные виды из окон Windows 1.0 и Windows NT.

Содержание

История

2 тысячелетие н. э. — можно вводить текст, удалять текст и сохранять(!) текст размером до 64 Кбайт.
3 тысячелетие н. э.  — добавили ахренительный функционал: снят предел в 64 Кбайта, появились торчащиегорячие клавиши и поддержка Юникода.

Альтернативы

  • MS-DOS Editor (edit.com) — консольный текстовый редактор, впервые появившийся в операционной системе MS-DOS 5. Можно разделять окно редактирования на две части, как в Word’е.
  • Write (Windows Write; не путать с нижеупомянутым Writer из OpenOffice) — штатный редактор 16-битных версий Windows, отличавшийся от Блокнота возможностью форматирования текста. Имел собственный формат файлов .wri, но, начиная с Windows 3.0, стал поддерживать документы WinWord ранних версий.
  • WordPad — переделка Write для Windows 95 и последующих. Версия, распространяющаяся в Windows 7, поддерживает не только традиционный формат RTF/DOC (Word 6.0) и OOXML (Word 2007), но и — внимание! — ODF (OpenOffice), что позволяет невозбранно троллить линуксоидов отсутствием в их ОС встроенного средства для работы с OpenDocument.
  • Word (WinWord) — самый многофункциональный и тяжеловесный из всех известных на сегодняшний день блокнотов. ЧСХ, был таким ещё в DOS-инкарнациях.
  • AbiWord — wannabe Word из несостоявшегося пакета AbiSuite. Функционала чуть больше, чем в WordPad, i.e. дополнения, колонтитулы, таблицы, нумерация страниц, сноски, ссылки, закладки, вставка пикч и файлов, онлайн сервисы.
  • Writer — wannabe свободный аналог Word из пакета OpenOffice.org.
  • PageMaker — тот же блокнот, только для быдлодизайнеров.
  • TextPad — тот же блокнот, только с элементарной подсветкой кода, регулярными выражениями и прочими фичами.
  • GEdit — тот же блокнот, только откомпилированный под GNOME и с дополнительными функциями, тащемта умеет вкладки и кодировки, например.
  • Leafpad — тот же блокнот, но для расового Linux. При установке теперь предлагает забыть про Блокнот посредством выедания файлов оного и замены на себя. Юзает GTK+, минималистичен. Умеет кодировки лучше GEdit’а (например, лучше распознает KOI-8/CP1251/OEM866). Не реализован глюк с «Ctrl+Backspace», понимает «юниксовский» перевод строки.
  • Mousepad — XFCEшный блокнот, модификация Leafpad, предназначалась, как умеющая распечатывать тексты на принтере, но Leafpad сейчас тоже умеет печатать.
  • TEA — довольно нагруженный вариант блокнота с тучей возможностей, также содержит файловый менеджер Квас и анализатор слов в тексте УНИТАЗ. (серьезно)
  • Kate — тот же GEdit, только откомпилированный под Кеды и с дополнительными функциями (встроенная консоль, например).
  • Bluefish — ГТКшный текстовый редактор, предназначенный в первую очередь для непосредственного редактирования HTML и PHP-кода, а также для программиздов.
  • vi — тот же блокнот, только консольный и под Unix, отличается широким функционалом (имеет два режима: бибикать и всё портить).
  • SciTE — удобный, шустрый, кросплатформенный текстовый редактор. В наличии подсветка синтаксиса уймы языков, поддержка системных кодировок и юникода, расширяемость Lua'шными скриптами, удобные инструменты поиска и замены с поддержкой регулярок. С успехом используется как простая IDE для скриптовых (и не только скриптовых) языков. Имеется няшная русская версия.
  • Notepad++ — недодельный вариант SciTE под винду. [24.08.2010] На текущий момент Notepad++ значительно развился и приобрёл поддержку многих функций, полезных программистам как на мёртвых, так и на бессмертных языках, всё ещё оставаясь достаточно лёгким.
  • Notepad2 — расширенная версия Блокнота с панелью инструментов и подсветкой синтаксиса.
  • EmEditor — тот же блокнот, только шустрый, с подсветкой синтаксиса и поддержкой разноёбистых кодировок.
  • AkelPad — тот же блокнот, только есть поддержка кодировок и плагинов. Также этот вариант может корректно читать и сохранять бинарные файлы и потому, в отличие от Блокнота, может использоваться как примитивнейший hex-редактор.
  • Штирлиц — тот же блокнот, только умеет распознавать кодировку текста, иногда даже в таких случаях, когда текст подвергался неоднократному переводу в разные кодировки.
  • http://mrxwg4y.m5xw6z3mmuxgg33n.nblu.ru/ — тот же блокнот, только в online версии, ещё работает со множеством файлов Microsoft Office.
  • http://mjwg623bfzzhk.nblu.ru/ — из той же серии, в стиле минимала.
  • A4 — тот же блокнот, только в RL версии (в классической версии А5 же).
  • Bred — вовсе не бред, тот же блокнот, только с поддержкой бесполезных функций: подсветкой слов и поддержка UTF-8.
  • UltraEdit32 — тот же блокнот, только с поддержкой RegExp и другими бесполезными функциями.
  • IntelliJ IDEA — тот же блокнот, только с подсветкой слов вымирающих языков.
  • Visual Studio — тот же блокнот, только с блэкджеком и шлюхами подсветкой слов вымирающих языков, тормозами и браузером.
  • Eclipse — тот же блокнот, только кроссплатформенный (на самом деле та же Visual Studio, только с блэкджеком и шлюхами).
  • NetBeans — тот же блокнот, только ещё мультиплатформенный.
  • Geany — кроссплатформенная мини-IDE с подсветкой слов невымирающих языков.
  • Uniqway Poetic — легкий блокнот с кодировками, нормальными функциями поиска и замены, красивым интерфейсом со вкладками и синтаксисом не самой первой свежести. Исправно работает, не смотря на то, что проект заброшен (последняя версия 1.4), а на сайте теперь поселилась строительная фирма.
  • haali — тот же блокнот, только мобильные телефоны.
  • jEdit — тот же блокнот, только написан на Java.
  • Foxit PDF Editor — тот же блокнот, только для редактирования pdf файлов.
  • PDF Forms Designer — уникальная в своей области программа для дизайна PDF форм. Позволяет отказаться от дорогущих 100-мб решений Adobe. Успела отхватить пару призов немецких (и не только) журналов. Написана на Java с довольно приличным уровнем дизайна — в итоге даже индус (или студент) может добавить сам (!!!) хотелки юзеров, скачав Netbeans. Сами разрабы забили на дальнейший девелопмент. Недостатки — это десктопное приложение.
  • TextEdit — тот же блокнот, только с яблочным привкусом.
  • Aditor — тот же блокнот, ну ты понел.
  • Древний барельеф — тот же блокнот, только древнеегипетский.
  • Notebook — тот же блокнот, только не блокнот.

Короче тысячи их.

  • Lexicon — редактор «Лексикон». MS-DOS.

Алсо, Emacs по одной из версий — теоретико-множественное дополнение до блокнота.

Упоминание

Иногда употребляется как лучший текстовой редактор, лучшая среда разработки на любом языке программирования. Бла бла бла…

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

Интересные возможности

  • Если в начале открываемого программой файла находится кодовая последовательность «.LOG», то после открытия в конец файла добавляется текущая дата и время и курсор устанавливается после неё. Эта малоизвестная документированная возможность, существующая по крайней мере с Windows 95, позволяет использовать редактор для ведения заметок или наблюдений[1]. По-видимому, с тех же пор сохранилось ограничение размера текстового файла, при котором это работает: вместе с датой и временем должно быть не более 30 000 байт[2], хотя современные версии Блокнота могут работать и с бо́льшими файлами.[3] Аналогично, если в блокноте нажать кнопку F5, то прямо сразу вставится текущее время и дата.
  • Если запустить Блокнот с ключом командной строки /.setup, то после запуска Блокнот «зависнет» — его окно не будет отрисовываться, хотя работать он будет верно. (Например, в таком Блокноте можно напечатать текст вслепую, и сохранить его в файл на диске.) Чтобы выйти из этого «зависшего» блокнота, можно использовать клавишу Esc или комбинацию Ctrl-C[4].
  • В блокноте можно отменить последние изменения в тексте, но не более трёх.
  • Если создать текстовый файл, написать в него фразу «bill gates fucking asshole», «мы все умрём» или «bush hid the facts» или любую формата «xxxx xxx xxx xxxxx», и закрыть файл, предварительно сохранив, то при следующем открытии содержимое файла будет заменено иероглифами. Так-то! Но под семеркой (и Win9x) не работает![5][6]
  • Умеет переходить к определённой строке (и даже показывать её номер) и переносить слова, но считает эти возможности взаимоисключающими.
  • При нажатии Ctrl+S записывает файл (неожиданно?) и показывает в строке статуса, если она видна, неправильное положение в тексте — 1:1. Проверено на XP. На семерке та же фигня. Правда в последних версиях этот баг устранили.
  • А ещё после сохранения, если включен перенос строк, он ломается и текст становится фиксированной ширины (и при уменьшении размера окна сильно корявится). Причём если файл сохранить ещё раз и открыть, всё становится нормально. Также всё можно исправить простым нажатием Ctrl+A.
  • Версия блокнота осталась пожалуй единственной графической прогой Windows Server 2008 версии Server Core (тот, что без гуя), предназначен для правки некоторых конфигов одмином.
  • Если при работе с большим текстовым файлом порядка метра (для блокнота это большой файл, особенно на одноядерной 3GHz-ой машине) попытаться произвести замену одного символа на другой (например, пробел) то замена будет длиться вечность. Несмотря на то, что любой быдлошкольник смог бы написать прогу на любой жабе, превосходящую блокнот по скорости замены текста.

Примечания

  1. Откуда vi + — возьмёт название исходного файла, чтобы записать изменения? Типа плюсик с минусиком так охуенно выглядят, что на практический смысл можно забить?):
    # !/bin/sh
     
    if [ ! "$1" ]
    then
      vi
    else
      if [ ".LOG" = "$(sed -ne '1!d;s/^\(....\).*/\1/;p;' "$1" 2>/dev/null)" ]
      then
        printf "%s\n\n" "$(cat "$1"; date)" | vi + -
      else
        vi "$1"
      fi
    fi
  2. На самом деле упомянутая строка добавляется не атомарно, а кусочками, так что если результат не укладывается в упомянутые 30000, то возможно, что Блокнот и выдаст ошибку и добавит начало строки, что-то вроде «10:00 27.01.».
  3. Ошибка, которую выдаёт блокнот при открытии слишком больших .LOG файлов, достойна отдельного упоминания: Not enough memory available to complete this operation. Quit one or more applications to increase available memory, and then try again. Не удивлюсь, если где-то там внутре неонка статический массив.
  4. А ещё можно его свернуть в панель задач и развернуть. А потом наслаждаться Блокнотом с двумя скролл-барами.
  5. Происходит сей подземный стук по весьма распространённой причине благих намерений — разработчики попытались сделать автоматическое определение кодировки открываемого файла, но сил, увы, не хватило. Поэтому убогий алгоритм считает содержимое рассматриваемого файла юникодом и показывает соответствующе. Алсо, [1]
  6. Капитан Очевидность совместно с Джеффри Рихтером сообщают нам, что разработчики Блокнота тут ни причём, а виновата API-функция IsTextUnicode(): «Проблема с текстовыми файлами в том, что не существует четких и строгих правил относительно их содержимого. Это крайне затрудняет определение того, содержит файл символы в ANSI или в Unicode. Поэтому IsTextUnicode применяет набор статистических и детерминистских методов для того, чтобы сделать взвешенное предположение о содержимом буфера. Поскольку тут больше алхимии, чем точной науки, нет гарантий, что Вы не получите неверные результаты от IsTextUnicode.». Так-то! Алсо, см. [2]