LINUX.ORG.RU
ФорумTalks

[Человечный консольный редактор в линухе] Наконец-то я его нашел. Я счастлив.


1

1

Здравствуйте!

Десять лет, проведенные в линухе, омрачались многими вещами. Но самая мрачная вещь - это отсутствие удобного и понятного консольного текстового редактора.

Я дважды серьезно приступал к изучению vi, проходил встроенный туториал, записывал на бумажечку выученные команды. Но после небольших перерывов, начисто забывал что и как надо делать, помнил только спасительную комбинацию ":qEnter" чтоб выйти из этого ужосо. Я пробовал использовать emacs -nw, но это звиздец еще похуже vi. Чтобы в нем вызвать меню, или просто выйти из программы - нужно прочитать документацию, написанную абсолютно невменяемыми людьми. Другие редакторы, типа nano и jed - по факту являтся наколенными поделиями людей, которые совершенно не представляют себе, что значит пользовательский интерфейс.

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

Я думал, что уже никогда не увижу человечного консольного редактора в линухе. И вот недавно мне в голову пришла мысль - а почему бы не воспользоваться встроенным редактором FAR, запустив его через wine? И произошло чудо - FAR действительно имеет опции, чтобы запускаться как редактор для указанного файла.

Я скачал FAR2 с офицального сайта, распаковал его в каталог /opt/far2, и с трепетом ввел команду:

wineconsole --backend=user /opt/far2/Far.exe /e myfile.txt 2>/dev/null

Господи! Я плакал! Все работает, просто абсолютно все!! Без всяких плясок с бубном! И какнадо!!!111 Всего не перечислишь, вот только то, что пишу навскидку:

- Работает выделение Shift+Стрелки.
Привет MC с его F3, и допиливание Konsole!

- Работает вертикальное выделение Alt+Стрелки.
Привет глюкам MC, в котором после вертикального выделения не поднять курсор выше отметки выделения.

- Полная интеграция с буфером обмена десктоп-окружения.
Привет обмену через cooledit.clip, через который невозможно засунуть и принять в DE-шный буфер обмена кириллицу. Досвидания кривой xclip!

- Возможность копирования в буфер обмена даже невидимого текста.
Ну да, выделяешь текст (пусть он даже вылазит за экран), нажимаешь Ctrl+C и текст в буфере. Это можно сделать не только в редакторе, но и в любом поле ввода. И в любом поле ввода можно сделать Ctrl+V, а не нажимать консольное сочетание «Вставка из буфера», специально для такого случая.

- Отмена действия и выход из редактора - одинарное нажатие Esc.
Досвидания двойным Esc в MC. Допиливать до одинарного нажатия нужды нет.

- Работает копи-паст по привычным сочетаниям Ctrl+C/Ctrl+V.
Досвидания F5, F6, F8 в MC, из-за которых по привычке невозможно работать в других DE-редакторах.

- Работает интеллектуальное Undo по привычному сочетанию Ctrl+Z.
Досвидания посимвольное Undo в MC по C-u.

- Есть грамотно отформатированная справка по всем клавиатурным сочетаниям, вызываемая по F1.
Досвидания кривая справка MC, в которой сочетания нужно выискивать в тексте. Досвидания сочетания вида «M-e» и «F17».

- Работает сохранение по F2 без вопроса «Действительно сохранить?»
Досвидания привычка тыкать F2 - Enter в MC.

- При нажатии Ctrl или Alt нижняя строка подсказки сразу показывает, какие действия будут выполняться при нажатии F1-F10.
Понимаю, понимаю, в консоли одиночные нажатия клавиш-модификаторов отследить проблематично.

- Безупречно работает автоопределение кодировки файла.
Еще ни разу не пришлось вручную перетыкать UTF-8, KOI-8 и CP1251. Просто открываешь файл и редактируешь.

- Замечательно работает подсветка синтаксиса через Colorer.
Досвидания кривая подсветка в MC, в которой при редактировании html-видов в файлах с расширением .php, требуется обязательное наличие тегов <?php ?>, а без них - каша.

- Работает быстрое перемещение к началу/концу текста по Ctrl+UP/Ctrl+Dn.
А в MC это давно и успешно разломали.

- Не возникает «лесенки» при вставке текста.
Досвидания http://www.midnight-commander.org/ticket/1603

- Не теряются символы переноса строк.
А в MC никогда на угадаешь, когда вставленный текст вставится в одну строку.

Чего не хватает? Ну да, единственной вещи - работы в консольном бакэнде. Пользоваться FAR в wine с опцией "--backend=curses" не представляется возможным.

Я прописал встроенный редактор FAR в качестве редактора в MC. Конечно, открытие нового окна с редактируемым текстом меня не радует. Хотелось бы, чтоб редактор был действительно консольным. Зачем, спрашивается, было огород городить, если с таким же успехом можно вызывать нативный Kate?

Но скажу честно - Kate не предназначен для работы через клавиатуру. А встроенный редактор FAR - предназначен. Так что я уже две недели работаю с FAR-редактором и не нарадуюсь. Поначалу раздражало новое окно, и чуть тормозной запуск (около 1 сек против мгновенного запуска встроенного MC редактора), но щас привык, и выгода от удобства редактирования налицо. Я наконец-таки начал комфортно и быстро редактировать текст. Чего и вам желаю.

Скрин: http://rghost.ru/1731292/image.png Странно, что в заголовке окна написано «Администратор». Все запускается от обычного пользователя, видимо wine внутри себя держит какого-то пользователя-администратора. Не разбирался с этим, главное что редактор работает.

Всем красноглазам привет.


Ответ на: комментарий от xintrea

> существующие DE-шные редакторы либо заточены на работу с мышкой (Kate, Gedit)

В каком месте-то? В них просто имеется возможность работы мышью, а клавиатуру там никто не отменял. Тем более, там все настраивается, как тебе уже сказали.

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

Все истории хранятся в ~/.mc/history. Как только диалог с полем ввода закрывается, его история записывается в этот файл. Смотрите, что не так с ним. Может, он read-only.

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

Ну я тоже достаточно давно, хотя и вряд ли в школе. Поэтому и удивился такому наезду на них со стороны xintrea.

kss ★★★★★
()

>Я думал, что уже никогда не увижу человечного консольного редактора в линухе.

линухе

Иди-ка ты назад в свою семерочку. «Подсказок к клавишам» ему не хватает. Интересно, нафига они нужны?

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

>> http://rghost.ru/1733535

Да у тебя даже декорации вендовые. Накопи ты уже денег на семерочку


Во-во, о чем я говорил. Чувак явно не понимает, что такое пользовательский интерфейс. Он не знает, что дефолтный интерфейс Win95...XP делали люди с научным подходом, а интерфейс висты и далее - безмозглые дезигнеры новой волны, потакающие желаниям «эффективных менеджеров».

Почитай, чтоли, Кирсанова для саморазвития... Хотя ладно, не читай. Всеравно ты ничего не поймешь.

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

За вертикальное выделение в vim надо заморить голодом всех детей уганды.

Подумай о детях! Что именно не так с вертикальным выделением в виме?

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

1. Автоопределения кодировки У меня везде UTF-8, поэтому масштабы бедствия я оценить не могу, увы :-) Исходники kate доступны, если что.

2. Подсказки по клавишам F1-F10 внизу экрана В дефолтной конфигурации F-клавиши у нее не сильно задействованы, Cмысл ?

3. Компактного хорошо отформатированного хелпа по грячим клавишам, чтоб в меню не тыкаться

Меню «Настройка/Настроить Kate/Редактирование/Комбинации клавиш» и «Настройка/Комбинации клавиш». Объемом буквально с пару страничек в формате клавиша-действие.

4. Вертикального выделения по Alt+Cтрелки. Cуществующее переключение «в режим» вертикального выделения через Ctrl+Shift+B и обратно - ужасный костыль. И переопределением клавиш тут не поможешь - дело в самом принципе переключения режима, вместо прямого использования

Это fail, да. Но ведь есть исходники ?

5. Закрытия окна по ESC при вызове из консоли

Выход, повешенный на Ctrl-Q без проблем переопределяется.

6. Сохранения по F2 при вызове из консоли

Сохранение, повешенное на Ctrl-S без проблем переопределяется.

Я все понимаю, но зачем так геморроиться, когда можно просто открыть редактор одной командой, в котором все вышеперечисленное работает искаропки без допиливания?

Причем все компоненты - опенсорчные.

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

так никто и не сказал почему в MC ESC надо нажимать 2 раза, а в NDN достаточно одного.

ls-h ★★★★★
()
Ответ на: комментарий от xintrea

> а интерфейс висты и далее - безмозглые дезигнеры новой волны, потакающие желаниям «эффективных менеджеров»

Я разве говорил, что мне нравится оформление семерки и висты? А на свой вопрос ответа я так и не дождался. Зачем ты, блин, все кактусы грызешь и себя мучаешь? Накопи денег на XP что ли уж, если не нравится интерфейс семерки. Как маленький, ну.

pevzi ★★★★★
()
Ответ на: комментарий от ls-h

несколько раз уже говорил, mc работает в терминале, esc управляющий символ, чтобы была возможность работать на самых тупых терминалах после нажатия esc, mc ждет других символов, как только они приходят mc складывает присланное воедино и получается одна управляющая последовательность. чтобы сделать одинарный esc надо установить опцию old_esc_mode=1

angel_il ★★★★
()
Ответ на: комментарий от ls-h

> так никто и не сказал почему в MC ESC надо нажимать 2 раза, а в NDN достаточно одного.

Сказали, читай тред сначала. Даже ссылку на магические действия дали.

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

нет наверное, я просто чаще запускаю sudo mc
чем просто mc, поэтому файл создался от рута, и так три раза подряд )
особых требований у меня нет, поэтому в ~/.mc я могу и не смотреть

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

>Necromancer's DOS Navigator for Linux

надо же! не знал, вспомню юность :)

а в нем есть сиди-плеер есть? :)

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

>На мой взгляд, MC развивается весьма активно и в правильном направлении

зачем эти ребята изуродовали форму поиска файлов?

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

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

Продолжая твою мысль мы придем к винде с установленным Far-ом ;-) Тебе ведь хочется Far «искаропки без допиливания» ? Зачем тогда нужен этот непонятный Linux с wine-ом ?

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

> зачем эти ребята изуродовали форму поиска файлов?

А по-моему, наоборот. Стало гораздо лучше. И параметров поиска больше. А то, что было — УГ.

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

> Зачем тогда нужен этот непонятный Linux с wine-ом ?

Он принципиально не отвечает на вопросы такого типа. Только я пока не могу понять этот принцип.

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

Ну разве что так. Но убивать детей за то, что в виме есть вертикальное выделение как то экстремально, это ж как надо ненавидеть вим.

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

> Продолжая твою мысль мы придем к винде с установленным Far-ом ;-)

Нет, мы пришли к wine с установленным фаром. И это решение работает. Причем заметь - сплошной опенсорч.


Тебе ведь хочется Far «искаропки без допиливания» ? Зачем тогда нужен этот непонятный Linux с wine-ом ?


Потому что я работаю в линухе. И еще я нищеброд, и на винду у меня денег нет. Даже если вы всем лором скинетесь и купите мне винду, я всеравно буду пользовать линух, потому что я в нем работаю. А вот если вы мне еще и зарплату будете всем лором каждый месяц платить - тогда пожалуйста, уйду на винду, и не буду больше вам парить мосг.

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

> я всеравно буду пользовать линух, потому что я в нем работаю

Прям интересно что за работа такая, что приходится против воли работать в ненавистном линухе.

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

> Подумай о детях! Что именно не так с вертикальным выделением в виме?

Блочное выделение _обязано_ игнорировать длинну строки, а не сокращаться до длинны на которой находится курсор.

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

>чтобы сделать одинарный esc надо установить опцию old_esc_mode=1
Как выясняется, будет работать с задержкой. Т.е. нажал ESC - сработало не сразу, т.е. тоже не айс.

ls-h ★★★★★
()

В Фаре ещё плагин 7-Zip (понимающий все архивные форматы) отлично, быстро работает. В отличие от MC.

А для местных тролей скажу что эта ваш фанатизм опенсурсной свободы софта показушный. Т.к. у вас на дисках полно копирайтных материалов накаченных с трекеров.

И вообще вы забываете что свобода это жизнь без законов копирайта, патентов и др. «интеллектуальной собственности». Эти законы противоречат элементарной человеческой свободе мысли и демократии и конституции. Эти законы созданы и приняты бизнесменами для себя, а не для народа. Народ эти законы бы никогда бы не выбрал. Правильней было бы добиваться отмены этих законов, а не продолжать продвигать опенсурсные лицензии.

Так как сами опенсурсные лицензии держатся на копирайте и не будь копирайта не будет и этих лицензий.

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

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

> Но убивать детей за то, что в виме есть вертикальное выделение как то экстремально, это ж как надо ненавидеть вим.

Причем тут не навидеть? Это мой повседневный редактор. И когда каждый день видишь «Покорми детей в уганде, покорми детей сцуко». Всегда рождается мысль «юзабилити сначала в порядок приведи, гринписовец хренов».

Большинство линуховых редакторов губит расширяемость. Поскольку фичреквесты пользователей игнорируются с причиной «ну вам же дали скриптинг - скриптуйте».

И если не троллинга ради - каждый из вас матерился пытаясь выжать из своих питомцев (vim/emacs/etc) хоть каплю понимания, завистливо глядя как спокойно работают владельцы маков в текстмейт.

iBliss
()
Ответ на: комментарий от ls-h

>так никто и не сказал почему в MC ESC надо нажимать 2 раза, а в NDN достаточно одного.

В двух словах: из-за генетической дефективности и ущербности линуксовых терминалов, где кругом escape-последовательности.

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

>Нет, мы пришли к wine с установленным фаром. И это решение работает. Причем заметь - сплошной опенсорч.

Я несколько лет работал на Solaris 8 на UltraSPARC. Я посмотрел бы на твои потуги запустить там Far :-)

Там нет даже mcedit, не говоря уже про wine :-) При грамотной организации работы он в общем-то и не нужен. Хватало редактора MicroMir (в некотором роде похож на vim), он умел простенькую навигацию по файлам. Зачем больше ? Есть bash и командная строка.

Потому что я работаю в линухе.

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

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

Ты слишком большого е себе мнения. Для большинства в этом треде ты выглядишь мягко говоря неосилятором, не больше.

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

О, теперь понятно, set virtualedit=all попробуй. А насчет ненависти - мне тоже показалось по твоим постам, что вим - твой редактор, так что ты сам понимаешь, что юзабилити в виме есть, но оно такое особое вимовское юзабилити.

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

>> я всеравно буду пользовать линух, потому что я в нем работаю

Прям интересно что за работа такая, что приходится против воли работать в ненавистном линухе.


Написание софта для терминалов оплаты и платежных систем. В работе используется C++, STL, OpenGL, SDL, Qt, для хранения конфигов - XML, для скриптования - php и lua, bash для внутренней автоматизации. В работе используются нестандартные (самодельные) USB, Com и LPT устройства. Помимо программинга проходится редактировать ресурсы - изображения, звук, видео. Посему приходится пользоваться Gimp, Inkscape, ImageMagic, Audacity, Avidemux, Mencoder.

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

Слышчо, а ты английский знаешь? Если да, то лучше б шел прямиком на багтрекер того редактора, который тебе ближе всего, и писал бы там свои возмущения (конечно, в более корректной форме). Было бы гораздо больше толку. А так разработчики могут никогда и не узнать, что именно им надо еще сделать, чтоб улучшить свой проект. В другом же случае ты сделаешь хорошо не только себе, но и другим, кто еще столкнулся с этим.

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

> В работе используется C++, STL, OpenGL, SDL, Qt, для хранения конфигов - XML, для скриптования - php и lua, bash
А пишешь в FAR'е? (:

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

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

> но оно такое особое вимовское юзабилити.

Оно есть, но иногда хочется чего нить не столь мозговитого. А слазить с него - потом чаааасто в коде мелькают ошибки типа шальной буквы i или :w

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

типа шальной буквы i или :w

Аналогично :-)

Так что virtualedit, помог? Правда оно недавно появилось, 7.1, что ли. Кстати, с virtual space в редакторах вообще беда почему-то, не так-то много умеют. Сабжевый фарэдит умеет. А вот кто еще?

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

> Слышчо, а ты английский знаешь?

Нет. Он на MC тикеты на русском писал. Его послали, а он обиделсо.

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

Да, вим таки и правда лучший текстовый редактор. Просто осилить всю его мощь крайне трудно (:

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

Кстати о гугле, надо же предупредить dimqua, что vim гугловец разрабатывает, а то вдруг он не знает, и попадет в гуглорабство.

dimqua, срочно меняй редактор, ты в опасности!!11

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

> Ну видишь, а ты говоришь фичи Брам не пишет :-).

Угумс погорячился, ушел кормить детей в уганде.

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

> Слышчо, а ты английский знаешь? Если да, то лучше б шел прямиком на багтрекер того редактора, который тебе ближе всего, и писал бы там свои возмущения (конечно, в более корректной форме). Было бы гораздо больше толку.

Нет, я немецкий учил.

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

Впечатление

Нулевое, запускается долго и почему-то ничего не работает, конечно можно все свалить на wine. В окружение не вписывается. Вывод: оно мне не нужно (и судя по всему всем) я так видемо и буду редактировать в основном echo и cat'ами, ну или vim'ом и kwrite'ом если,что посерьезней.

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