LINUX.ORG.RU
ФорумTalks

Мысли об идеальной консольной рабочей среде

 ,


0

3

Короче, я тут понял, чего мне не хватает в консоли. Чего-то такого, что бы объединяло командную строку и файловый менеджер. Вот представьте себе, у вас 2 панели. Слева столбец (в треть или четверть экрана) с файловым менеджером, а справа собственно командная строка. При этом в файловом менеджере всегда показывается текущая рабочая директория из консоли. Сделал cd и сразу видишь содержимое, больше никогда не нужно писать ls. Потом переходишь в панельку с ФМ и оттуда можешь подставить имя файла обратно в консоль или выполнить cd, например. Думаю можно еще сценариев придумать, но вот эти прям очевидные сразу

Неужели мне первому пришла в голову такая идея? Может кто-то знает существующие решения?

Курсорные стрелки к какой части интерфейса будут относиться? В миднайте Ctrl-O гасит панели, Ctrl-Enter подставляет имя файла под курсором, чего не хватает?

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

В моей фантазии это что-то наподобии tmux, с возможностью переключения между панелями по хоткею. Соответсвенно, когда фокус в консольке - стрелочки листают историю, когда фокус на фм - стрелочки управляют им

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

Когда панельки погашены, курсор листает историю. И есть какое-то сочетание клавиш, чтобы листать историю, когда включены панели.

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

В mc не хватает того, что я не могу одновременно использовать и консоль и фм полноценно. Я хочу одновременно видеть вывод всех предыдущих команд и смотреть на список файлов. Ваш вариант предполагает, что я должен переключаться туда-сюда

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

может тогда стоит это через tmux и делать? ещё как вариант в имаксе должно быть несложно запилить

caryoscelus
()

В ОП описан терминальный мультиплексор. Осталось только скриптами засинхроннить ФМ и шелл. Кмк, и там и там должны же быть какие-то хуки действия пользователя.

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

я думал запилить сам на базе тмукса, или может быть неовима, но это ж надо разбираться, какой фм подойдет, как устроено ipc в разных файловых менеджерах, как все это обмазать хуками, как в шелл данные подпихивать

если всезнающий лор ничего не подскажет то видимо придется делать самому

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

по моему это не совсем то, что мне нужно. не увидел там интеграции между фм и шеллом

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

Файловый менеджер скорее избыточен для такой задачи, для выбора файла подойдет fzf. Например cat $(ls -1a | fzf -e --height 40%), чтобы посмотреть содержимое нужного файла.

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

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

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

мне кажется ты просто не понял, чего я хочу. забей, не напрягайся

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

укороти ему панели, чтобы больше строк консоли влезало

ой а можно это чуть поподробней раскрыть? спасибопожалуйста.

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

F9 - настройки - внешний вид - консольный вывод. Только он у меня не активен почему-то, может, поломали.

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

F9-Options - а дальше? В Appearance только skin, в Layout только command prompt...

А как язык переключить в меню я до сих пор не понял - мне оно до того не надо было)

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

В Layout слева внизу console output. Ой, это вообще не то, это число строк выхлопа в консоль, оно по умолчанию из настроек терминала должно быть, потому и неактивное. Тогда остается только исходники поправить, авторы где-то здесь тусят на форуме.

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

Это только в TTY, в чистом.

Console output

On the Linux or FreeBSD console you can specify how many lines are shown in the
output window. This option is available if Midnight Commander runs on native console only
dmitry237 ★★★
()
Последнее исправление: dmitry237 (всего исправлений: 1)

У мелкомягких есть куду. Никакого откровения. Лучше расширить то, что по табуляции происходит, хотя бы вверх-вниз перебирать подходящие варианты

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

Ctrl-Enter подставляет имя файла под курсором

Ну ташето “ctrl-x t” но бывает что и ctrl+enter

anc ★★★★★
()

Вот ведь не жалко кому-то треть экрана на такую чепуху.

t184256 ★★★★★
()

Ты изобрёл Norton Commander

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

Рассматривал в качестве одного из компонентов, но тут же фишка в интеграции между шеллом и фм, не видел такого именно в том виде, в каком нужно мне

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

Так это в фаре есть. Делаешь правую панель активной, левую убираешь - и вуаля! Только шрифт надо самый узкий выбрать

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

В моей фантазии это что-то наподобии tmux

тогда испoльзуй screen, раз tmux чем то неугодил?.. justbuyhouse.jpg

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

О! Это можно побороть. Если запускать far2l –tty не в терминале, а в ядерной консоли по Ctrl-Alt-F1

tiinn ★★★★★
()
Последнее исправление: tiinn (всего исправлений: 1)

Чего-то такого, что бы объединяло командную строку и файловый менеджер.

Рекомендую асилить конфиг zsh - оно вам по табу будет показывать список файлов в директории. В цвете.

Ygor ★★★★★
()

Часть работы уже сделана авторами mc. В современных версиях при переключении по Ctrl+O содержимое командной строки сохраняется, т.е. оно общее для терминала и «подпанельного» пространства. Но да, это не совсем «одновременно». Хорошо бы ещё это самое подпанельное пространство давать возможность расширять на несколько строк, тогда и Ctrl+O не всегда будет нужно.

Сделал cd и сразу видишь содержимое, больше никогда не нужно писать ls.

Это и сейчас работает.

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

В современных версиях при переключении по Ctrl+O содержимое командной строки сохраняется, т.е. оно общее для терминала и «подпанельного» пространства.

Это как-то включается в настройках или идёт автоматом с какой-то версии mc?

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

По-моему, автоматом. С какой версии — не скажу (в 4.8.30 точно работает, но появилось намного раньше).

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

в 4.8.30 точно работает, но появилось намного раньше

Debian 12 mc версии 4.8.29. История в консоли (konsole из кде) и история в терминале, открываемом через Ctrl+o, разная. Оно, конечно, иногда удобно, но чаще наоборот.

В тестинге 4.8.30, но что-то не захотело без бубнов ставится, подожду, не очень критично

Jurik_Phys ★★★★★
()
Последнее исправление: Jurik_Phys (всего исправлений: 1)

emacs

пост дальше заголовка не читал.

hateyoufeel ★★★★★
()

Вот недавно понял простую штуку, зачем описывать так много непонятного тескста другим, если можно хотя бы постараться зарисовать эскиз, а ещё лучше сделать и показать о чём вообще ты?:)

А вообще, строка комманд должна быть во всю ширину. Если это не ясно, то нужно заняться работой, которая требует работы с терминалом и всё будет понятно.

Это не значит, что интеграция комманд и ui не имеет смысла. Но глянь как хотя бы vim или emacs как оно там. Люди миллионы собак съели на этих интеграциях.

ixrws ★★★
()

Слева столбец (в треть или четверть экрана) с файловым менеджером, а справа собственно командная строка

В смысле ты хочешь съесть честь экрана под не особо нужный список содержимого, который можно получить через ls или двойным табом?

Ну кеды поставь.

ya-betmen ★★★★★
()
Ответ на: комментарий от anonymous7

а адовое ШГ это обязательная часть экспириенса?

У меня в нём ШГ нет. Но помню, что сразу после установки было. Так что как-то настраивается.

По смыслу близко к тому что я хочу

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

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

Рекомендую асилить конфиг zsh - оно вам по табу будет показывать список файлов в директории. В цвете.

Или fish. Я как неосилятор, zsh не осилил, а fish мне сразу зашел.

Loki13 ★★★★★
()

При этом в файловом менеджере всегда показывается текущая рабочая директория из консоли. Сделал cd и сразу видишь содержимое, больше никогда не нужно писать ls. Потом переходишь в панельку с ФМ и оттуда можешь подставить имя файла обратно в консоль или выполнить cd, например

mc работает ровно так, только навигация по самой ком.строке уродская.

Меня другое в консольке напрягает. Пишешь километровую колбасу grep-sed-awk, ищешь что-то в логах. Так эдак подправляешь. Колбаса получается на более одной строки уже. Хочется сразу перейти на строку вверх, машинально нажимаю стрелку вверх и... правильно, вижу предыдущую команду вместо своих трудов. Это в каких-то оболочках или ФМ делается как-то более удобно?

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

Пишешь километровую колбасу grep-sed-awk, ищешь что-то в логах. Так эдак подправляешь. Колбаса получается на более одной строки уже.

Я бы такие колбасы вялил в нормальном редакторе. Например, в source-блоках в org-mode, чтобы заодно выполнять удобно было. Заодно задокументировать можно.

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

Ну суть та же, пишешь скрипт в редакторе и каким-нибудь Ctrl-O его запускаешь?

yu-boot ★★★★
()

Сделал cd и сразу видишь содержимое, больше никогда не нужно писать ls. Потом >переходишь в панельку с ФМ и оттуда можешь подставить имя файла обратно в консоль >или выполнить cd, например. Неужели мне первому пришла в голову такая идея? Может кто-то знает существующие >решения?

Желание не набирать постоянно ls, не нажимать tab (особенно если файлов много) и не делать иных телодвижений,а просто видеть содержимое каталога - вполне понятно. И файлы выбирать для подстановки в командную строку не набором имени (или куска имени +tab),а курсорными стрелками и нажатием хоткея,как в MC.

В MS DOS так работал Norton Commander 2.0 например,пользовался им в 89-92 годах(потом более продвинутые заменители появились). Можно было вверху экрана иметь «синие панельки» (или одну справа-вверху например),а под ними половина экрана оставалась под работу в командной строке.

Но в Линуксе такое сложно реализовать из-за особенностей устройства терминала.

Разве что в Иксах объединить в одну программу эмулятор терминала и файловый менеджер. Фактически это будет кастомный эмулятор терминала с дополнительными функциями файлового менеджера. Наверно можно было бы такое в Double Commander дописать,но писать придется мноооого. Там сейчас интеграции с командной строкой считай что и нет. Да и управление с клавиатуры хромает изрядно.

При наличии существующего MC маловероятно что найдется достаточно мотивации для дописывания этого. Да, MC не идеален,но всех более-менее устраивает,а мириться с неудобствами интерфейса всех хорошо приучили винды.

Но если делать файловый менеджер чисто иксовой программой то на компе придется держать их два - один для обычной работы в иксах,а второй консольный на случай когда потребовалось что-то сделать в отсутствии иксов. И если у них будут разные хоткеи - то это будет вызывать неудобство. А они будут,также как они сейчас разные у МС и у того же Double Commander. И,кстати, у того вышеупомянутого Нортона хоткеи тоже от отличались от MC. Утверждалось что одинаковые не сделать из-за ограниченного набора esc-последовательностей в консоли.

В «голой» консоли вышеописанный вариант одновременности «панелек» и коммандной строки точно не получится. Эту тему еще в 90х активно обсуждали как только появилась возможность ставить на персоналку что-нибудь юниксообразное(до линуксов еще). Максимум возможного и так потом сделали в MC изрядно помучившись,но и там фактически две переключаемых консоли - одна для окошек,вторая «под ними». До него был Demos Commander, у него и такого небыло.

Меня вот другое удивляет - почему в MC не сделали автообновление содержимого панели при изменении в каталоге который она отображает? Вроде как в линуксе inotify это должен позволять. Тогда можно было бы открыть два окна терминала,в одном запустить МС,в другом работать в командной строке. И MC отображал бы текущее состояние рабочего каталога. Переносить имена файлов из «панелек» в комстроку конечно не получится,но уже всё-таки лучше чем постоянно дергать ls или tab. 

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

Я тут емакс пропагандирую.

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

Я бы такие колбасы вялил в нормальном редакторе.

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

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

Вопрос есть как к пропагандисту Емакс - а где можно увидеть внешний вид хорошо настроенного Емакс в разных режимах его работы?

Что такое разные режимы работы?
А посмотреть ты можешь взяв любую конфигурялку - doom, spacemacs, prelude, purcell, centaur etc.

потому что я получу ненастроенный и потому совершенно не интересный

И это не проблема. Как ты пишешь «не настроенный» содержит в себе даже книгу по Elisp и tutorial. Короче, самодостаточен.

как к пропагандисту Емакс

Emacs отличается от любых других инструменто тем, что позволяет получить ЛЮБУЮ конфигурацию. Хочешь в середину экрана какашку анимированную? Пожалуйста! Хочешь, чтобы голые девки на шестах крутились в углах, пока ты код пилишь и реагировали на ошибки? Да нефиг делать!

В настройке Emacs ты ограничен только своей ленью и фантазией.

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

Но в Линуксе такое сложно реализовать из-за особенностей устройства терминала.

nnn? Не смотрел но осуждаешь?

masterOf
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)