Редактор vkNotepad версии 0.9.8
Редактор работает с текстовыми файлами во всех существующих кодировках, а именно,
- (AW) Ansi - Windows - ASCII коды с русской таблицей win-1251
- (AD) Ansi - DOS - ASCII коды с русской таблицей ДОС
- (AK) Ansi - KOI8 - ASCII коды с русской таблицей KOI8 (NET)
- (UB) Unicode BOM BE - двухбайтовые уникоды с байт-ордер-маркером, записанные так, что старший байт слева, как принято в Java
- (UL) Unicode BOM LE - двухбайтовые уникоды с байт-ордер-маркером, записанные так, что младший байт слева, как принято в Windows
- (FJ) UTF - Java marker - специальная кодировка символов, удобная для американцев, файл имеет Java маркер
- (FG) UTF - General marker - специальная кодировка символов, удобная для американцев, файл имеет стандартный маркер
- (FN) UTF - No marker - специальная кодировка символов, удобная для американцев, файл не имеет маркера
Кодировка при считывании текста из файла с маркером определяется автоматически. Если маркера нет, то подразумевается AW файл. Соответсвенно кодировки (AD), (AK), (FN) в файле без маркера не распознаются. Но можно заказать повторное считывание файла, специально указав одну из этих кодировок. Редактор записывает файлы во всех кодировках, но в случае смены кодировки ее надо заказать заранее перед записью в файл.
Признак конца строки также может быть заказан заранее и выбран из трех возможностей: Java (LF), Windows (CR+LF), Apple (CR). Текущие кодировка и признак конца строки указываются в титульной строке в 3 и 4 позициях
Меню редактора показывает не все функции, которые он способен выполнить. Некоторые функции автоматически выполняются использованием комбинаций горячих клавиш.
[Shift]+[стрелки] - выделяет часть текста, отмеченный текст можно затем использовать разными способами
[Ctrl]+[C] - засылает отмеченный текст в буфер
[Ctrl]+[X] - уничтожает отмеченный текст с одновременной засылкой его в буфер.
[Ctrl]+[V] - вставляет текст из буфера в текст редактора на позиции курсора.
[Ctrl]+[A] - выделяет сразу весь текст редактора.
[Ctrl]+[Z] - отменяет последнюю сделанную операцию с текстом редактора (Undo)
[Ctrl]+[Y] - восстанавливает последнюю отмененную операцию (Redo)
[Ctrl]+[H] - эквивалентно клавише Backspace
[Page Up] - поднимает курсор на 35 строк вверх
[Page Down] - опускает курсор на 35 строк вниз
[Home] - ставит курсор в начало строки
[End] - ставит курсор в конец строки
[Ctrl]+[Home] - ставит курсор в начало текста
[Ctrl]+[End] - ставит курсор в конец текста
[F10] - активирует Меню (вместо клавиши [Alt])
Текст из буфера можно переносить в другие программы операционной системы, а также можно вставлять в редактор текст, засланный в буфер другими программами операционной системы.
Ниже описываются все операции, выполняемые по кнопкам меню. Горячие клавиши для этих операций указаны в меню справа от названия кнопки. Названия основного раздела меню и его подраздела разделяются с помощью наклонной черты (знак деления). Итак
File/Open - загрузка текста в редактор из выбранного файла, имя файла выбирается с помощью менеджера файлов или вводится в строку ввода с клавиатуры. Важно знать, что программа способна брать имя файла из командной строки, что позволяет связать ее с разными расширениями файлов и автоматически запускать при выборе файла с данным расширением. Однако, так как она работает через интерпретатор (виртуальную машину Java), то связывать с расширением нужно командный файл vkNP.bat, в котором должна быть набита одна строка
java -jar folder\vkNotepad.jar %1
где слово folder надо заменить на адрес папки, в которой находится программа, если эта папка не прописана в списке папок, в которых ищутся файлы. А сам bat-файл надо поставить в корневую папку системного диска. Для тех, кто использует Total Commander скажу, что в качестве команды запуска можно просто скопировать указанную строку по кнопке меню "Associate with". Важно также знать, что при запуске программы без аргумента предполагается, что новый текст будет загружен в файл с именем newtext.txt в текущей папке при использовании меню "Save". Если такой файл уже существует, то он будет перезаписан. Однако, если использовать меню "Save as", то такой файл может и не появиться. Выбор файла с помощью менеджера файлов начинается с той папки, из которой последний раз был выбран файл. У этой операции есть и еще один специальный режим. При выборе файлов с расширением jpg, png, gif программа кодирует картинки из файла в текст и загружает этот текст в окно текстового редактора. Этот текст затем может быть использован для передачи картинки текстом, если это необходимо. В частности таким образом можно передать картинку в Java аплет vkACL, работающий в интернете. Побробнее об этом см. в описании операции [Show/Image]
File/Save - запись в текущий файл текущего текста в редакторе. Эта операция необходима только на случай сбоев в питании компьютера. Ее можно выполнять многократно, для спасения части набитого текста. Если неожиданно компьютер выключится, то спасенная часть текста не пропадет. После записи файла в титульной строке справа указывается время записи. Это позволяет в любой момент определить как давно в последний раз был записан файл.
File/Save as - запись в новый файл текущего текста в редакторе, имя файла выбирается с помощью менеджера файлов или вводится с клавиатуры в строку для имени файла. Эта операция позволяет начать со старого письма и путем его редактирования записать новый файл с новым письмом. После выполнения этой операции, предыдущая операция выполняется в новый файл, так как он становится текущим файлом.
File/Encoding - эта операция позволяет переопределить текущий режим кодировки текста при записи его в файл. Можно выбрать любую из 8-ми кодировок, указанных выше: AW, AD, AK, UB, UL, FJ, FG, FN. Текущая кодировка в виде указанных выше букв указывается в титульной строке на третьей позиции после имени файла. Сама по себе эта операция ничего не делает. Запись файла происходит по двум предыдущим операциям. Но эта запись будет учитывать новый выбор. Тем самым можно прочитать файл в одной кодировке, а записать его в другой кодировке. В процессе работы редактор работает с уникодами. Если в тексте используются уникоды и он записывается как Ansi, то результат может быть непредсказуем.
File/Line ending - эта операция позволяет выбрать способ записи конца строки при записи текста из редактора в файл. Можно выбрать из трех возможностей Java (LF), Windows (CR+LF), Apple (CR). Текущий способ окончания строк высвечивается в четвертой позиции после имени файла в виде букв J или W или A.
File/reOpen as - эта операция позволяет повторить попытку чтения файла, если кодировка не определилась автоматически. Это происходит в случае трех кодировок AD, AK, FN. Можно выбрать одну из них и файл будет считываться в этой кодировке.
File/Exit - выход из редактора с сохранением параметров и с автоматической записью в текущий файл текущего текста в редакторе. Если редактор был запущен без имени файла, то текст сохраняется в файл с именем newtext.txt. Если не нужно записывать новый текст в файл, то редактор необходимо закрыть кликом кнопки с крестиком в правом верхнем углу окна программы. При этом параметры тоже не сохраняются.
Edit/Find - поиск набранного слова от позиции курсора вниз. Слово вводится с клавиатуры в окне ввода. Если слово не найдено, выдается сообщение.
Edit/Find Next - повторный поиск того же слова вниз.
Edit/Info - информация о параметрах текста и окна редактора, показывается в отдельном окне.
Edit/Input by code - эта операция позволяет вводить символы, которых нет на клавиатуре методом указания их уникодов. Таких символов может быть очень много, если использовать кодировку уникодов. В ansi файл много символов не запишешь. Для правильного ввода символов нужно знать их уникоды. Но таблицу уникодов и их символов можно записать с помошью самого редактора. Если нужно вводить несколько разных символов, то они разделяются запятой, а если несколько подряд, то через знак тире можно указать первый и последний.
Edit/Input Date - эта операция записывает в текст текущие дату и время в специальном формате на позиции курсора.
Edit/Input HTML Tag - эта операция позволяет быстро вводить в текст теги языка HTML, что очень удобно при написании кода страниц интернета. Она открывает новое окно второго редактора, в котором показывает различные теги и их комбинации, каждую на отдельной строке и с комментарием. Необходимо поставить курсор на нужный тег в любое место (но раньше знака "|", с которого начинается комментарий) и закрыть окно кликом крестика или нажать клавишу [Esc]. Нужный тег появится в тексте на позиции курсора. Сам курсор остается на старой позиции. Более того, в новой строке второго редактора в любом месте можно набить дополнительный текст, закрыв его знаком "|" и этот текст тоже можно будет вставлять в основной текст. Но это работает только на один сеанс редактора. Для модификации текста на все сеансы надо сделать Update тегов в меню Formate/Update.
Edit/Go to line - ставит курсор на строку с заданным номером. Номер задается в отдельном окне.
Format/Change Font/Input - выбор имени, типа и размера фонта. Имя задается текстом. Список всех имен, имеющихся на данном компьютере, можно посмотреть средствами операционной системы [Control Panel/Font], а тип и размер задаются двумя числами. При этом тип имеет значения 0 - нормальный текст, 1 - жирный текст, 2 - наклонный текст. Второе число указывает на размер текста в единицах pt.
Format/Change Font/Choose - выбор имени, типа и размера фонта из списка. Достаточно поставить курсор на строку с выбранным фонтом и нажать [Esc]. Сам список можно редактировать обычным образом. Отредактированный список действителен на один сеанс работы. Но если сделать Update списка, то новый список запоминается на следующий сеанс.
Format/Wrap lines - меняет режим переноса строк, на противоположный. В первом случае, если длина строки больше ширины окна, то все слова переносятся на другую строку автоматически. Во-втором, не переносятся и будут не видны. Повторный вызов отменяет предыдущий режим. Текущее состояние редактора по переносу слов указывается в титульной строке во второй позиции после имени файла: W - если слова переносятся и L - если не переносятся.
Format/Set Tab - устанавливает длину отступа при использовании клавиши (символа) [Tab] числом пробелов.
Format/Set Margin - устанавливает размеры полей между границами текстового окна и самим текстом. Эти размеры можно менять в зависимости от настроения. Они вводятся в специальной строке ввода четырьмя числами (сверху, слева, снизу и справа)
Format/Set Colors - позволяет настроить цвета текста и фона, курсора, а также выделенного текста и фона. Всего 5 цветов. Каждый цвет задается тремя числами в диапазоне от 0 до 255, которые определяют интенсивности красной, зеленой и синей компонент.
Format/Update - позволяет сохранить отредактированные список фонтов или список html тегов по выбору.
Convert/Eng -> Rus, Line - перевод строки слева от позиции курсора в русский язык. Предполагается, что набивался русский язык, но режим клавиатуры не был установлен. Эта операция исправляет ошибку.
Convert/End -> Rus, Word - перевод слова слева от позиции курсора в русский язык. Предполагается, что набивался русский язык, но режим клавиатуры не был установлен. Эта операция исправляет ошибку только на одно слово, то есть от позиции курсора назад до ближайшего пробела.
Convert/Rus -> Eng, Line - перевод строки слева от позиции курсора в английский язык. Предполагается, что набивался английский язык, но режим клавиатуры не был установлен. Эта операция исправляет ошибку.
Convert/Rus -> Eng, Word - перевод слова слева от позиции курсора в английский язык. Предполагается, что набивался английский язык, но режим клавиатуры не был установлен. Эта операция исправляет ошибку только на одно слово, то от позиции курсора назад до ближайшего пробела.
Convert/Keyboard switch - независимое от операционной системы переключение клавиатуры с английской на русскую или обратно, повторный вызов отменяет предыдущий режим. Текущее состояние клавиатуры указывается первым символом после имени файла в титульной строке. E - для английской клавиатуры, R - для русской клавиатуры.
Show/Brackets - эта операция высвечивает текст между парными скобками. Если в тексте есть скобки типа ")" или "]" или "}", то нужно поставить курсор перед скобкой и нажать клавишу F11. При этом высветится весь текст слева до парной открывающей скобки такого же типа. Операция полезна при написания кода на некоторых языках программирования.
Show/Figure - эта операция показывает текст в виде графика. Для этого текст очевидно должен представлять собой колонки чисел. График делается автоматически и не требует никакой настройки. Для правильной работы операции необходимо, чтобы все строки с числами содержали одинаковое число колонок, причем предполагается, что в первой колонке записан аргумент, а в остальных колонках - одна или несколько функций от одинакового аргумента. Если в файле есть нецифровые строки, то они пропускаются. Очевидно, что если в файле совсем нет чисел, то операция ничего не делает. Разные кривые рисуются разными цветами. Порядок первых цветов кривых такой: черная, красная, синяя, зеленая, фиолетовая, серая, коричневая, бардовая, темно-синяя, черная, далее цвета циклически повторяются. Картинка с графиком автоматически спасается в файл с тем же именем, но с расширением "png". Параметры графика можно настроить с помощью следующей операции.
Show/Fig settings - Эта операция позволяет изменить параметры графика, которые используются при его рисовании. Параметры разделяюся на числа и подписи. Чисел всего 15 и они вводятся в специальной форме, содержащей 15 подписанных окон ввода. Подписи на английском языке означают следующее: [1] Ширина графика в пикселях, [2] Высота графика, [3] Длина горизонтальной оси аргумента, [4]. Длина вертикальной оси функции, [5]-[6] X и Y координаты начала координат относительно левого нижнего угла области графика, [7] Способ задания осей. В общем случае это пятиразрядное число, первые 4 разряда которого (слева направо) указывают на способ представления осей: 0 - стандартный (левая и нижняя с числами), 1 - ось отсутсвует, 2 - нестандартный (правая и верхняя оси с числами). 5-й разряд указывает на способ рисования рисок: 0 риски внутрь, 1 риски наружу. Левые нули в числе можно не писать, так что 00001 и 1 одно и то же, [8] Длина коротких рисок, [9] Длина длинных рисок, [10] размер шрифта для написания чисел, [11] Номер шрифта, один из пяти возможных, шифты можно проверить эмпирическим путем, [12] Тип текста 0 - прямой, 1 - жирный, 2 - наклонный, 3 - жирный и наклонный [13] Размер маркера, если равен нулю, то кривые чертятся линиями, в противном случае каждая точка отмечается маркером, [14] определяет тип маркера для первых 5 кривых, если его размер не равен нулю. Это есть 5-разрядное целое число, в котором каждый разряд может иметь значения от 0 до 4. Все 5 разрядов необходимо задавать, причем левый (старший) разряд относится к первой кривой, следующий слева - к второй кривой и так далее. Например, [14]=1234 означает линию для первой кривой (левый разряд = 0), пустой прямоугольник для второй кривой, сплошной прямоугольник для третьей кривой, пустой круг для четвертой кривой, и сплошной круг для пятой кривой. Остальные кривые задаются теми же маркерами в цикле, [15] Число подписей. Если последний параметр не равен нулю, то необходимо задать сами подписи. Они задаются в отдельном файле, по две строки на каждую подпись, первая из которых содержит 3 числа: x,y координаты левого нижнего угла текста и отклонение размера шрифта от стандартного, задаваемого параметром 10. Вторая строка содержит саму подпись. Эти строки можно отредактировать в специальном редакторе, который открывается в отдельном окне. Если вам необходимо сохранить изменения, то нужно закрыть редактор кнопкой [Exit]. Если не нужно ничего менять, то кликаете крестик в правом верхнем углу.
Show/Slide show - Эта операция позволяет показать слайд шоу по картинкам или фотографиям как на компьютере, так и в интернете. Для этого в тексте редактора должны быть записаны имена файлов с картинками в форматах GIF, JPG, PNG. Картинки могyт иметь произвольный размер и они показываются как есть, без масштабирования. Поэтому очень большие картинки нужно масштабировать заранее. Сканирование текста начинается с той строки, на которую показывает положение курсора. Его можно переставить в любое место. Редактор пропускает все строки, в которых нет знака (#) в первой позиции. Если в строке есть такой знак, то считывается имя файла сразу после этого знака и до знака (|). То есть имя файла должно находиться между знаками (#) и (|). Первый знак должен быть в первой позиции, а за вторым знаком может быть любой текст, он игнорируется. Далее у имени файла проверяется первый знак. Если он равен ($), то он тоже не учитывается и имя файла начинается с третьего знака в строке. Но этот файл указывает на то, что файл надо искать по имени в папке с названием [resources], которая должна находиться в той же папке, где находится сама программа редактора. Если же второй знак - не ($), то имя файла должно представлять собой URL. URL (universe resource locator) - это адрес файла в универсальной форме. Файлы в интернете задаются как обычно http://a/b/c.jpg, а файлы на локальном компьютере надо задавать в виде File:C:/a/b/c.jpg. Обращаю внимание, что все символы обратной наклонной черты "\" надо заменить на символы прямой наклонной черты "/". Это просто связано с особенностью моей программы, написанной на языке ACL. Навигация выполняется следующим образом: правая и нижняя стрелки - движение назад, [Esc] прекращение показа, остальные клавиши - движение вперед. Если в строках указаны файлы, которых нет, то такие строки пропускаются. Если ничего не указано - ничего и не будет. Протокол показа можно набить в редакторе и затем спасти в файл, в последующем все будет работать автоматически. Эта операция сделана таким образом, что она способна показывать файлы default.vks программ фото-шоу в форме Java аплета. Фактически эти файлы можно как раз и набивать в редакторе и сразу проверять размеры картинок и их последовательность. Она не накладывает тексты и не играет музыку, но это уже совсем ни к чему. В отличие от анимации, она может показывать большие картинки в натуральную величину с прокруткой. Масштабирование на экран пока отсутсвует.
Show/Image - Эта специальная операция позволяет проверить текстовый код картинки. Дело в том, что редактор умеет закодировать картинку из файлов типа jpg, png, gif в текст, то есть он создает текстовое представление картинки. Все, что реально делается - это каждый байт файла представляется двумя символами текста в квази-гексагональной системе (используются символы с номерами от 48 до 63). Работает это так. В режиме [File/Open] выбирается какой-либо файл с картинкой и обязательно с расширением jpg, png, gif. Программа кодирует этот файл текстом и показывает текст в окне редактора. Если вы выйдете из редактора по кнопке [File/Exit], то исходный файл будет перезаписан и в нем вместо картинки появится текст. Иногда это полезно, но часто нет, поэтому выходить из редактора после данной операции надо кликом крестика в правом верхнем углу окна. Данная операция удобна в тех случаях, когда необходимо передать картинку в текстовом режиме через буфер обмена. Например, Java аплет не может использовать графический буфер обмена, но может использовать текстовый. Поэтому текст можно просто скопировать в окно редактора Java аплета. В последующем текст можно снова перекодировать в картинку. Главное назначение этой операции - это взаимодействие с Java аплетом vkACL, работающим в интернете. Этот аплет понимает код и может превратить его в картинку. Для проверки кода как раз можно использовать данную операцию. При наличии кода картинки в окне редактора, она его прочитывает и показывает картинку, соответсвующую этому коду. Если картинку получить не удается, она выдает сообщение об этом.
Show/Snapshot - Эта специальная операция имеет горячую клавишу [Ctrl]+[P], по которой ее и разумно использовать. Она позволяет вырезать с экрана компьютера любую область и спасти ее в графический файл с расширением jpg или png. Такая операция совсем не имеет отношения к редактированию текста, но тем не менее она очень полезна для многих целей. В частности таким способом можно спасти в файл картинку, которую показывает Java аплет vkACL, работающий в интернете. Так как редактор все равно используется для взаимодействия с Java аплетом, то этим и обусловлено введение данной операции в редактор. Работает это так. Открываете окно редактора и цепляя мышкой за титульное поле опускаете окно вниз почти до самого конца, так что его совсем не видно. Но иконка редактора остается в статусной строке ОС. После того, как нужная вам картинка появилась на экране, активируете редактор кликая на его иконке. И затем нажимаете горячую клавишу [Ctrl]+[P]. При этом изображение всего экрана спасается и показывается в отдельном окне. В этом окне выбираете область с помощью мыши так: ставите курсор в нижний левый угол и нажимаете левую клавишу, затем не отпуская клавишу передвигаете курсор в правый верхний угол области. Область при этом отметится черной рамкой. Когда область аккуратно выбрана, отпускаете клавишу. Выбранная область появляется в новом окне. Кликаете на ней и открывается окно менеджера файлов, в котором можно выбрать нужную папку и набить имя файла. Нажимаете [OK] и вырезанная картинка спасается в выбранный файл. Такой способ не всегда удобен, так как мышь дрожит и вырезать картинку с заранее заданными размерами сложно. Поэтому есть второй способ. Когда изображение всего экрана показывается в окне с названием "Capture", то у этого окна есть статусная строка, показывающая текущие координаты курсора. Выбираете нужные координаты начала фрагмента и затем нажимаете клавишу [C]. Появляется окно ввода, в нем надо ввести 4 числа, координаты x,y левого нижнего угла фрагмента, ширину и высоту фрагмента и нажать кнопку [OK]. Выбранный фрагмент будет показан в отдельном окне. Далее действуете как описано выше.