Рубрика «текстовый редактор» - 2

Весной 2015 года компания «Новые облачные технологии» (НОТ) запустит новый сервис «МойОфис», который должен составить конкуренцию сервисам Microsoft Office и Google docs. Разработчики ставят перед собой амбициозные цели: к 2020 году получить 25% отечественного рынка и выйти на рынки Европы и Латинской Америки.Читать полностью »

Определенная доля текстовой части моего диплома была написана на Nokia E63 — было срочно и поздно, поэтому работать приходилось в пути, переездах, на конференциях, а ноутбука у бедного студента не было. Удобная QWERTY-клавиатура и доступный Интернет позволяли набирать и редактировать текст даже с определенным комфортом. В общем, некоторый опыт извращений в наборе текста у меня есть.

image

То ли дело современные студенты — ноутбуки, планшеты, редакторы онлайн и оффлайн, совместная работа над документами. Кажется, проблемы в далеком прошлом.
Читать полностью »

Это статья про плагины к текстовому редактору SynWrite.

С момента обзора редактора, он получил нормальное Python API. Можно через API делать всякую обработку текста, выводить меню, запрашивать ввод и т.п. Появилось несколько плагинов — я их тут перечислю.
Читать полностью »

Каждый, кто пытался запрограммировать хотя бы простейший редактор текста на низком уровне, сталкивался с задачей организации памяти для хранения редактируемого текста. Структура данных для хранения текста должна удовлетворять следующим требованиям:

  1. иметь малые накладные расходы по памяти. Большая часть доступной памяти должна использоваться для хранения текста, а не служебной информации;
  2. допускать эффективную вставку и удаление в произвольном месте текста.

Удовлетворить эти требования одновременно непросто. Если рассмотреть широкоизвестные структуры данных, такие как массивы, списки, деревья, стеки, очереди, кольцевые буфера — то такой структуры, которая бы позволила эффективно выполнить оба требования, не встречается. В случае массива имеем незначительные накладные расходы по памяти, но операция вставки имеет сложность O(n), где n — размер редактируемого текста. В случае списка сложность вставки и удаления составляет O(1), однако накладные расходы по памяти в несколько раз превышают размер собственно текста. Деревья, кучи, кольцевые буфера, ассоциативные массивы и прочие структуры и вовсе неприменимы для хранения текста в редакторе.

Встречаются гибридные решения, когда текст хранится в наборе массивов, которые, в свою очередь, объединены в список. Казалось бы, такой подход позволяет объединить преимущества массивов и списков (быстрая вставка/удаление при низких накладных расходах по памяти). Однако такое решение сложно в реализации. Также оно приводит к фрагментации памяти.

Предлагаю вашему вниманию эффективную структуру данных для хранения редактируемого текста, которая проста в реализации, имеет константные накладные расходы по памяти и быструю вставку/удаление в произвольном месте. Также она позволяет эффективно редактировать файлы, которые целиком не умещаются в оперативную память.

Несмотря на то, что эта структура данных была открыта давно и использовалась в текстовых редакторах на старых ЭВМ в 8-битную эпоху, это тайное знание предков было в значительной мере утеряно и в современных редакторах встречается редко. Попробуйте открыть файл, состоящий из одной строки мегабайт на 10, в Notepad или Far. Вставка и удаление символов будет длиться секундами.
Читать полностью »

Доброго времени суток, товарищи читатели!

Последнее время в хабе Старое железо наблюдается довольно большая активность как со стороны авторов, так и со стороны читателей. Причем, судя по количеству плюсов к публикациям в этом хабе, обзоры старой техники действительно интересны и пользуются спросом. И раз уж на то пошло, я решил достать из темного угла чудо японских инженеров компании Fujitsu — текстовый редактор OASYS 30AFII, и поделиться с вами его обзором.

image

Внимание! Много картинок и фотографий.
Читать полностью »

В этом посте я хотел бы обозначить основные «приятности» SynWrite — свободного текстового редактора для программистов (и верстальщиков) под Windows. Будут показаны далеко не все фичи, а только часть.

Редактор появился относительно недавно, так что многие про него не знают.
Читать полностью »

Сегодня — немного практических советов по работе с WebStorm.

Вначале пишем совсем простой HTML, После color: нажимаем <Ctrl-пробел> и получаем список цветов.

image

КО подсказывает: во всех IDE от JetBrains <Ctrl-пробел> — это контекстная подсказка.

Как только мы выбрали цвет, на вертикальной полоске слева от текста тут же появляется маленький квадрат такого же цвета. Теперь можно кликнуть по нему, и откроется палитра, из которой можно выбрать вообще любой цвет.

Секреты быстрого кодинга в WebStorm

А теперь представим себе проект посложнее, небольшое приложение под node.js.
Читать полностью »

Sublime Text 2Пару месяцев назад я случайно наткнулся на массу положительных отзывов о текстовом редакторе Sublime Text 2. Попробовав его в деле, я не разочаровался. Теперь это мой основной рабочий инструмент.

Sublime Text 2 — это платный текстовый редактор, написанный на C++, который:

  • Работает в Linux, OS X и Windows
  • Обладает приличной скоростью работы
  • Приятным интерфейсом (включая всевозможные анимации)
  • Гибко настраиваем (правда, не в GUI, а в json-конфигах)
  • Имеет множество плагинов, число которых растёт как на дрожжах
  • Поддерживает VIM-режим
  • Использует fuzzy-поиск

Читать полностью »


Прикручиваем текстовый редактор к сайту

Я взял за основу tinymce, но можно использовать и любой другой. Этот интересен тем, что распространяется бесплатно и возможностей у него полный чемодан. Есть все, что может понадобится самому капризному пользователю. Но есть и два существенных недостатка: в базовой (бесплатной) комплектации нет загрузчика картинок и файлов, и нет файлового менеджера. Но мы это легко исправим.

Первым делом качаем сам редактор с официального сайта tinymce.moxiecode.com
и распоковываем его в папку /tinymce/ в корне вашего сайта.
Второе — качаем плагин Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js