LINUX.ORG.RU

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


0

0

Я новичок в Linux. Нужен свободный текстовый редактор под GNOME, который умеет:

1. Чтение как минимум utf-8, cp1251, cp866, koi8r. Создание файла в любой выбранной кодировке.

2. Синтаксическая подсветка как минимум bash, python, xml, html (как сам html, так и JavaScript в нём).

3. Настройка запуска открытых скриптов (на разных языках) быстрыми клавишами. Окошко или область внутри текстового редактора, в котором отображался бы перехваченный вывод скрипта, с возможностью копирования текста оттуда.

4. Настройка сокращений с перемещением курсора. Скажем набираешь "ppp", мгновенно получаешь что-то типа:

<tagName>

а тут уже стоит курсор

</tagName>

5. Возможность быстрой записи и воспроизведения макросов. Например, нажимаешь сочетание клавиш, означающее начало записи, затем работаешь, например: Ctrl+Shift+вправо три раза, Ctrl+v, Home, вниз. Затем нажимаешь сочетание клавиш, означающее конец записи. Затем нажимаешь сочетание клавиш, означающее воспроизведение записи - в результате Ctrl+Shift+вправо три раза, Ctrl+v, Home, вниз нажимаются автоматически самим редактором.

Заранее спасибо за рекомендации.

Просьба: не советуйте редактор, если не уверены, что в нём точно есть ВСЁ перечисленное. Пожалуйста, не ограничивайтесь названием редактора, скажите пару слов о том, за что вы его любите.

Silvester
() автор топика
Ответ на: комментарий от Silvester

Люди, я умоляю - чуть-чуть помногословнее :-) P.S. Например, у меня есть книга по GNU Emacs толщиной 600 страниц. Я хочу хоть что-то услышать, прежде чем начать штудировать её, чтобы потом не получить разочарование, потратив огромную кучу времени.

Silvester
() автор топика
Ответ на: комментарий от Silvester

Кусочек Редактора Топикстартеру

scite подсветка, запись макросов, скриптование, кодировки.

wfrr ★★☆
()
Ответ на: комментарий от Silvester

Прочти Столлменовскую книжку по Emacs, и будет тебе щастье.

Miguel ★★★★★
()

Cколько же человеко-часов будет потеряно всеми, кто прочтёт эту книгу. Если просуммировать, получится не одна человеческая жизнь :(

anonymous
()
Ответ на: комментарий от Silvester

Что бы хочешь услышать? В Имаксе все это есть. И еще много чего есть. Например, тетрис и психотерапевт. :) Теперь у тебя достаточно информации, чтобы начать книгу читать? ;)

Uncle_Theodore ★★
()

все это умеет gedit, точнее в гноме к нему есть уйма плагинов прям в поставке. просто активируй их и настрой соответствующим образом.

Deleted
()

gvim - все перечисленное умеет.

smh ★★★
()
Ответ на: комментарий от HP

vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim, vim.

anonymous
()
Ответ на: комментарий от anonymous

> по последним данным разведки, emacs умеет vim

Что, в емакс таки встроили текстовый редактор? Ну наконец-то.

anonymous
()

Кстати, господа, а кто-нибудь видел nedit с utf-8?

anonymous
()

2All: Спасибо, пока информации хватит :)))

Silvester
() автор топика

Какой плагин в gedit апозволяет создать клавиатурные макросы? Как он называется?

Silvester
() автор топика

vim посмотри. Он всё это умеет.
Впрочем, как и емакс (правда перекодировка файла там неочевидна)

anonymous
()

емаксеры, подскажите навскидку, как открыть файл в нужной кодировке? Открыть например в win-1251, перекодировать в koi8-r и сохранить с нужным именем, перекодировать целиком и сохранить в utf-8?

И что делать, когда UTF-8 файл открывается попорченным (как однобайтная кодировка), но новый текст набирается нормально, и если сохранить будет нормальный новый UTF-8 и попорченный старый текст?

Хочется что-то вроде :e ++enc=utf-8 filename

anonymous
()
Ответ на: комментарий от anonymous

там ещё psychoanalyze-pinhead прикольный.. или это в xemacs?

anonymous
()
Ответ на: комментарий от Silvester

> Люди, я умоляю - чуть-чуть помногословнее :-)

ОК. Подробнее для Vim:

>1. Чтение как минимум utf-8, cp1251, cp866, koi8r. Создание файла в любой выбранной кодировке.


<Esc>:e ++enc=utf-8 filename (чтение или создание в нужной кодировке)
через :set fenc , set fileencoding, set enc можно задать кодировку по умолчанию и конвертирование из другой в заданную. Если настроено правильно, vim сам определяет правильную кодировку и сохраняет в ней же.

>2. Синтаксическая подсветка как минимум bash, python, xml, html (как сам html, так и JavaScript в нём).


"из коробки" подсветка работает для 520 вариантов синтаксиса, новый прикручивается в течение 15 минут читая доки и неспешно под пиво. Раньше были глюки с подсветкой вложенных комментариев, но сейчас вроде пофиксили (Если открыть файл в середине закомментированного, хвост не всегда перерисовывался; если последовательно прокручивать, впрочем, рисовалось нормально).

>3. Настройка запуска открытых скриптов (на разных языках) быстрыми клавишами.


командная строка из редактора? Запустить текущий файл?

<Esc>:!CMD<Enter> выполнит CMD. :make запустит make и покажет сообщения об ошибках (с переходом :cn, :cp).

Вообще читать про буферы. Любую команду редактора или скрипт снаружи редактора можно применить к буферу, результат сохранить в буфер/регистр/вставить в текст. Принимает любые аргументы на вход.
Можно повозиться и составить конвейер, например, в :!CMD можно для CMD взять из :files список буферов, распарсить то, что с % (текущий), подставить в команду.

Команды редактора -- Тьюринг-полный язык, см. в примерах в поставре vim ханойские башни, игру "Жизнь" sed/ed/vim командами.

Есть и нормальный скриптовый язык, и скрипты/плагины/функции на нем. На нем наверно будет проще.

Хоткеи настраиваются очень гибко.

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


:r! CMD -- вставит выхлоп CMD. Можно сначала выделить блок/заменить выхлопом, или сохранить выхлоп в отдельный буфер/регистр.

>. Настройка сокращений с перемещением курсора. Скажем набираешь "ppp", мгновенно получаешь что-то типа:


сниппеты. См. :abbr, см. примеры в плагинах-скриптах. :abbr-ой также удобно исправлять очепятки или "public static final void Main (.. )"

> 5. Возможность быстрой записи и воспроизведения макросов.


qX...<Esc>q -- запомнить команды в регистр X, @X -- проиграть. Команда "." повторяет последнее редактирование. Записанные команды -- любые команды редактора (например, можно применять команды к другому макросу в другом регистре, то есть макросы можно преобразовать макросами).

Интересно теперь выслушать развёрнутый ответ Емаксеров :^)

anonymous
()
Ответ на: комментарий от Deleted

>> все это умеет gedit... Короче, в gedit - шиш, а не клавиатурные макросы?

Silvester
() автор топика

Преимущество vim/emacs в том, что они поддерживают структурное редактирование, множество буферов и регистров (именованных буферов, буферов обмена, выхлоп команды, служебный буфер редактора (хелп, настройки)). То есть, есть естественные блоки разного размера буква/слово/предложение/абзац для текста или символ/лексема/функция для исходника. И ты редактируешь текст, думая не в терминах "Выбегалло запустил синие панельки Нортона, подслеповато прищурившись, прочитал по бумажке: эфь два, стрелочка вниз, стрелочка вниз,стрелочка вниз,стрелочка вниз, энте", а в терминах этих структурных единиц (перемещение вперёд/назад по объектам того же уровня, вверх/вниз между уровнями, замена/редактирование элемента целиком, а не как набора символов).

Вся разница в том, что в Vim более "Спектрум-подобные" режимы и однобуквенные мнемонические команды, а в Emacs -- повешано на разные хоткеи (правда, с внутренней логикой, вроде C-k движение по "уровню", M-k(Alt-k) по верхнему уровню, и т.п.), плюс человеческие названия функций, вызываемые по M-x function-name (с дополнением и подсказками).
В итоге хоткеи vim отрабатываются до автоматизма на "телеграфном" уровне, а емаксовые невнятны и требуют кучи других клавиш, префиксов, впрочем хорошо запоминаются на уровне отдельных слов через M-x function-name.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.