LINUX.ORG.RU

Вменяемый текстовый редактор — есть ли хоть один?

 


0

1

В общем хотел бы узнать, какие есть текстовые редакторы, в которых есть всё перечисленное без исключений:

1. Корректный показ всех специальных символов, если они встретятся в открытом файле (включая \0, CR и прочие контрольные), так что например, если в файле будет везде конец строки LF, а в одном месте CR LF то это место можно отловить визуально. Если в файле есть BOM, то он тоже должен отображаться визуально.

2. Умный показ пробелов/табуляций — пробелы показываются (например в виде бледных точек в середине строки) только если они находятся в конце строки или их два и более подряд, не считая пробелов для выравнивания кода. Табуляции показываются всегда, если выставлен режим выравнивания пробелами, а если табуляциями — то только когда они рядом с пробелами или не в начале строки. Все не-ascii пробелы показываются особыми маркерами.

3. Быстрая работа с большими файлами. Отсуствтие подвисаний/ошибок при открывании бинарных файлов (привет Gedit).

4. Сочетания клавиш как в других программах, например Ctrl-S сохраняет, Ctrl-O открывает, Ctrl-F поиск и тд (то есть не Vim и не Emacs, хотя может они и годные).

5. Полноценная поддержка гибкой табуляции

6. Показ номеров строк.

7. Подсветка синтаксиса.

8. Нормальная работа с компированием/вставкой средней кнопкой

При этом редактор не должен своевольничать по умолчанию — например при пересохранении удалять пробелы в концах строк, конвертировать их и тд, если это явно не выставлено в настройках.

Вообще я понимаю, что почти в любом редакторе с поддержкой плагинов можно добиться всего перечисленного, но в чём смысл заставлять пользователя писать половину нужной ему функциональности самому?

Кстати при правильной поддержке пункта 1, даже открытие бинарного файла, с редактированием текстовой строчки в нём (с сохранением длины) и сохранение не должно ломать файл. В идеале такой файл должен работать даже если были применены комбинации типа Ctrl-A, Ctrl-X, создание нового документа, Ctrl-V и Ctrl-S и на результат поставлен бит +x.

★★★★★

Последнее исправление: Xenius (всего исправлений: 6)

Для истории:

1. https://www.gnu.org/software/emacs/manual/html_node/elisp/Glyphless-Chars.html

2. https://www.emacswiki.org/emacs/WhiteSpace

3. https://github.com/m00natic/vlfi

4. https://www.emacswiki.org/emacs/CuaMode

Гибкой табуляции нет. Думаю, принципиально её добавить возможно, но мне больше нравится aggressive-indent-mode. Остальное из коробки. Но вообще у тебя очень специфические хотелки.

Вообще я понимаю, что почти в любом редакторе с поддержкой плагинов можно добиться всего перечисленного, но в чём смысл заставлять пользователя писать половину нужной ему функциональности самому?

Не хочешь писать сам - найми кого-то, кто тебе напишет это за деньги.

feofan ★★★★★
()

Из быстрого, качественного и недорогого надо выбрать любые два из трёх, и именно это и будет «вменяемое», а не то что вы хотите.

но в чём смысл заставлять пользователя писать половину нужной ему функциональности самому?

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

vodz ★★★★★
()
Последнее исправление: vodz (всего исправлений: 1)
Ответ на: комментарий от feofan

а так же крому текстового редактора

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

А я, почему-то подумал про современные галакси табы на андроидах...(

anonymous
()

vim ужасен, но его нечем заменить

anonymous
()

5. Полноценная поддержка гибкой табуляции

SublimeText's «ElasticTabstops» plugin inserts spaces rather than moving tabstops. If there are no tabstops (or tabs) it can't be elastic tabstops.

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

anonymous
()

У меня шестой пункт (номера строк) в emacs настроить без тормозов прокрутки не получилось.

Deleted
()

mcedit почти всем пунктам удовлетворяет. А вообще, обычно plain text размера больше страницы сам по себе никто не использует. Это или исходники, или логи. Для логов редактор не нужен, а для исходников есть специализированные: geany для ЯП, kile для латеха...

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

Что значит «самая правильная»? Концепция elastic tabstops означает, что в исходнике хранятся символы \t а при открытии колонки правильно выравниваются. Если в исходник пишутся пробелы, то как редактору понять, что это вообще за фигня?

Xenius ★★★★★
() автор топика

Да, это всё есть и хорошо работает в Vim 8.* (терминал, не gvim) если настроить, по пункту 5 оно так не называется, но есть.

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

Bruce_Lee ★★
()
Последнее исправление: Bruce_Lee (всего исправлений: 2)
Ответ на: комментарий от Xenius

Концепция elastic tabstops означает, что в исходнике хранятся символы \t а при открытии колонки правильно выравниваются.

Напиши сам, а? Тут сколько людей, столько и концепций «правильного» выравнивания, как я погляжу.

Если в исходник пишутся пробелы, то как редактору понять, что это вообще за фигня?

Я вот табами вообще не пользуюсь, и при этом Qt Creator меня прекрасно понимает. Но я не говорю, что моя концепция единственно правильная. Может, не надо на редактор возлагать слишком много?

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

Остальное - фигня!

И вообще, я уже говорил: не бывает идеальных редакторов «для всего»! Для кода geany советую.

anonymous
()

По многим пунктам, но не по всем — kate и geany

А вот по пункту «4. Сочетания клавиш как в других программах» есть отдельная рекомендация для консоли.
Редактор бедный по возможностям, зато не бибикает и не портит и не надо переключать режимы и педали не нужны. Как замена mcedit (быстро конфиг поправить и т.п.), например, очень хорошо идёт:
http://os.ghalkes.nl/tilde/

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

Если в исходник пишутся пробелы, то как редактору понять, что это вообще за фигня?

Редактору не надо ничего понимать. У тебя задача, (спорная конечно), чтобы при вставке или удалении символов слева не рушилось форматирование справа. sublime ее и решает и при этом решение не требует наличия «специальных» редакторов у всех для просмотра этого кода.

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

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

Ну ладно, и как этого добиться в нормальном редакторе типа KWrite, Nano или TextAdept в таком случае?

Очевидно, написать плагин, тыж программист.

anonymous
()

Единственная альтернатива vim на линаксе это neovim.

Unicode4all ★★★★★
()

вменяемых текстовых редакторов нет. </body>

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

exe

exe это виндовая жесть которая кодировку превращает в кашу...

amd_amd ★★★★★
()

Легче свой написать

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