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 внутри себя держит какого-то пользователя-администратора. Не разбирался с этим, главное что редактор работает.

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

хорошее описание еще пары причин, почему mc надо собирать с --without-edit

ananas ★★★★★ ()

Чувак, попробуй редактор в Necromancer's DOS Navigator for Linux

Сам NDN кстати, мега штука, только я его не осилил. Но вообще - мега весчъ

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

Пантуются сейчас крутой мабилой, она сильно орёт на переменках.

ЗЫ у фара сорцы вроде как открыты, тока врядли его портируют.

Ygor ★★★★★ ()

вот это ты хорошо набросил, пошел наливать чай

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

> Пантуются сейчас крутой мабилой, она сильно орёт на переменках.

если бы только на переменах...

ЗЫ у фара сорцы вроде как открыты, тока врядли его портируют.


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

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

> Чувак, попробуй редактор в Necromancer's DOS Navigator for Linux

Я пробовал, там неудобные сочетания клавиш.


Сам NDN кстати, мега штука, только я его не осилил. Но вообще - мега весчъ


У NDN проблемы при запуске в Konsole. Его приходится запускать в более другом эмуляторе терминала.

xintrea ()

>Полная интеграция с буфером обмена десктоп-окружения.
Следовательно, редактор уже не консольный.

[…]jed - по факту являтся наколенными поделиями людей, которые совершенно не представляют себе, что значит пользовательский интерфейс.

ЖЖёшь. Пиши ещё.

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

это видимо только для Ъ, ниасиливших SVN, потому что узнавать, что такое patchfs я сейчас полез в гугль, впрочем на первых 2 страницах я не нашел внятного объяснения

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

Dos Navigator от RitLabs был прекрасен во времена DOS, даже не смотря на Pascal. Но потом появился FAR, который быстро развивался. Ну а NDN для Linux - это просто ужас. Лучше такое не видеть вообще.
На мой взгляд, MC развивается весьма активно и в правильном направлении (спасибо вам, ребята), а изучить VIM не так и сложно. Туториалов и просто кейборд-скринов в сети хватает. Вот для затравки:
http://blog.ngedit.com/2005/06/03/the-vi-input-model/
http://www.viemu.com/a_vi_vim_graphical_cheat_sheet_tutorial.html
http://www.viemu.com/a-why-vi-vim.html

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

запусти mc, клацни enter-ом на любом diff-е - узнаешь

ananas ★★★★★ ()

Please DO NOT feed the troll...

Trolls try to disrupt, destroy or change discussion groups to fit their own agendas

TROLLS ARE PIN HEADS.

These trolls like to visit and to disrupt out happy forum.
They lowly reason for existence is to post provocative, hostile or annoying messages. They claim they are here to discuss but in fact are just here to cause trouble. Trolls have an exaggerated sence of their own improtance. Trolls will frequently use a persecution defence when they are asked to cease their antisocial behavior. When someone asks them nicely to stop posting negative comments, they'll claim innocent intent and will scream censorship. They will claim that they are being singled out because of their unpopular viewpoints.

REMEMBER!

Trolls will only stay when they are fed or given attention.
So please do not pet, respond to, or feed trolls.
Doing so only result in their prolonged stay.

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

> зашла, думала что автору попалось что-то на самом деле стоящее, а тут.. фар... фи!

Sylvia, что вы, FAR лучший файловый менеджер для Windows. Но вот для Linux он не нужен. Хотя какое то время назад я хотел написать свой, т.к. MC тогда был ужасен.

andreyu ★★★★★ ()

Linux with human ass.

перефраируя известного классика

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

>ps: интересный и простой редактор есть FTE (нужна версия для консоли, просто есть еще и для x11)
ня! спасибо)
//а на qnx4 оно встанет?

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

>>хотя по привычке я его набираю как pico, приходится симлинк делать

А откуда привычка? Ты так много в свое время пользовалась pine?

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

>>elm , а вот pico был наверное одной из немногих простых альтернатив vi

жесть какая....

мне казалось, с изобретением Netscape Mail, с консольными клиентами можно завязать.. а это дай вики памяти, 98 год...

а nano таки тупой...

не знаю, как-то mcedit привычнее и удобнее. И на Volcov похож

Lockywolf ★★★ ()

Что бы тут не говорили про легкость изучения vi и других консольных редакторов, в отношении MC ТС полностью прав.

ls-h ★★★★★ ()

Приказываю тебе освоить emacs.

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

> в отношении MC ТС полностью прав.

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

iBliss ()

Попробовал NDN - не плохая в принципе штука, жаль, что не родная для *nix систем.
Ха! А ESC надо нажимать только 1 раз.

Вот почему в MC нельзя сделать такое, почему 2 раза?

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

> а nano таки тупой...

Он не тупой... Копирование по Alt-6 (цифра шесть) это что-то инопланетное. Или злоупотребление клеем «момент».

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

>Консольные редакторы - анахронизм
Консоль еще никто не отменял, мало ли удаленным сервером надо будет порулить...

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

> ps: интересный и простой редактор есть FTE

Вы им вообще пробовали пользоваться? Это же ужосо.

Кто придумал для копипаста Ctrl+Ins, Shift+Ins, Shift+Del, тому я предлагаю самоуничтожение апстену. Совершенно невозможные комбинации. Copy и Paste вечно путаются. Для удаления блока постоянно думаешь что нажать - Ctrl+Del или Shift+Del.

Интеграции с буфером DE нет как понятия. Двадцать первый век на дворе.

Выделение по Shift+Стрелки не работает и видимо никогда работать не будет.

Ну и кодировку UTF-8 этот редактор не знает.

Чем же он простой и интересный? В нем работать невозможно.

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

> Консоль еще никто не отменял, мало ли удаленным сервером надо будет порулить...

Никогда не видел, как циски настраивают? :)

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

> Ха! А ESC надо нажимать только 1 раз.

Вот почему в MC нельзя сделать такое, почему 2 раза?


Можно сделать чтоб 1 раз. Нужно отдельно допиливать. Но рецепт дает повод сомневаться, что будет работать так как хочется (по логике вещей, должна появляться задержка, хотя на деле не появляется, что хорошо).

http://www.linux.org.ru/jump-message.jsp?msgid=4100638&cid=4105114

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

> Кто придумал для копипаста Ctrl+Ins, Shift+Ins, Shift+Del,

О дааа Ctrl+C логично... только для адептов DOSa.

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

>>Никогда не видел, как циски настраивают?

Я не видел. Что там? Веб-интерфейс?

Консоль все равно неизбежна. Интерфейса проще чем «написать команду» - «прочитать результат» все равно не быват.

Вообще, меня очень радует трэд. 40 лет Юниксу, а человеческого текстового редактора для админа нету. Для прогера есть, а для админа нету.

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

> Кто придумал для копипаста Ctrl+Ins, Shift+Ins, Shift+Del, тому я предлагаю самоуничтожение апстену. Совершенно невозможные комбинации. Copy и Paste вечно путаются. Для удаления блока постоянно думаешь что нажать - Ctrl+Del или Shift+Del.

То же самое могу сказать про новомодные Ctrl-X/C/V. На дэбильных клавиатурах с большим Delete и без Insert приходится пользоваться этим, постоянно в них путаюсь...

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

> Консоль еще никто не отменял, мало ли удаленным сервером надо будет порулить...

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

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

> Я не видел. Что там? Веб-интерфейс?

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

для админа нету

Райт-клик в Putty. Серьёзно.

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

> Консоль еще никто не отменял, мало ли удаленным сервером надо будет порулить...

Для этого и подходит MC со встроенным редактором. Но для повседневной работы MC как файловый менеджер впринципе неплох, а вот его встроенный редактор в повседневной реботе использовать категорически запрещается, если важна скорость и неизменность привычек нажимать классические сочетания клавиш.

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