LINUX.ORG.RU

cfiles 1.3

 , cfiles, , ,


4

3

Представлен новый выпуск консольного файлового менеджера cfiles, написанный на C и нацеленный на то, чтобы предоставить функционал файлового менеджера ranger, будучи при этом быстрым, легковесным и минималистичным.

Из особенностей можно выделить:

  • Vim-like управление.
  • Использует w3imgdisplay или Überzug для предпросмотра картинок на выбор пользователя.
  • Использует atool для предпросмотра архивов.
  • Использует mediainfo для просмотра информации о медиа-файлах и размеров файлов.
  • Использует fzf, написаный на Go, для поиска.

>>> GitHub проекта

Deleted

Проверено: jollheef ()
Последнее исправление: Deleted (всего исправлений: 5)

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

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

Кому-то удобнее то, кому-то это, не?

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

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

Вот прям мне да. И многим тоже. Я пользуюсь тем, что мне удобно, хоть mc, хоть xfe.

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

Некоторые и видео монтируют ffmpeg-ом в консоли.

И что? Это их дело. Если им это УДОБНЕЕ, то почему нет? Я в жизни не встречал более удобной вещи. чем mc и терминал. Серьёзно. На работе приходится мучиться с вендой, рука так и тянется к стволу^W xterm'у и 12 рабочим столам.

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

Это фича! В топку все, что не умеет Вим лайк управление )

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

Самоутверждаются люди. На си, вим-лайк управление.. Годнота же.

Я вообще не знал что так с картинками можно

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

Многим нравится Вим за возможность не убирать руки с клавиатуры. Люди находят в этом удовольствие. Многие любят простые утилиты, написанные на си за лёгкость. Консольное тоже многие любят, например за простоту работы по ssh.

Ты ещё про mc спроси или про find.

// сабж вижу впервые

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

консольные файловые менеджеры всегда удобнее графических

Тут проблема не в консольности или графичности. Дело в том, что 99.9% графических программ — это программы со стандартным GUI (кнопочки, иконки, менюшки, тыкать мышью, вот это вот всё). И GUI этот для регулярного и эффективного использования категорически неудобен. Вот и приходится мучится со всякими mutt да irssii.

Есть и исключения. Тот же emacs я предпочитаю использовать графический, а не консольный. Vim тоже графический вполне неплох. Ненужные менюшки, по крайней мере, и там и там легко отключаются. И своя командная строка (M-x и :, соответственно) и там и там есть.

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

хоткей s - «выполнить и забыть» (shell in silent mode)
S - открыть (и перейти в) стандартный шелл. ^D/exit - закрыть, перейти обратно.
! - перейти в комстроку рейнджера с открытым ":shell", можно задать опции, типа

f   Fork the process.  (Run in background)
 c   Run the current file only, instead of the selection
 r   Run application with root privilege (requires sudo)
 t   Run application in a new terminal window
There are some additional flags that can currently be used only in the shell command: (for example :shell -w df)

 p   Redirect output to the pager
 s   Silent mode.  Output will be discarded.
 w   Wait for an Enter-press when the process is done
в общем, на вкус и цвет. Хотя да, предпочитаю отдельную консоль (привычнее).
Куча фильтров и поиска по всевозможным критериям, возможность «разглаживания» (flatten) каталогов, сортировака результата по совершенно другим критериям (которых в этих ваших наутилусах и даже дольфинах и трети не наберется).
Насчет скорости - c превиюшками оно шустрее vifm (потому что процесс превиюшки запускается отдельно), да и так оно вообще-то обвязка на сишными файлофунциями, так что тормозит в меру.
Разбирал полгода назад свою помойку на полмиллиона+ файлов и дикими вложениями каталогов, перепробовал кучу ФМ и как-то ничего лучше не нашел.

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

Йокарная капча. Гугл совсем уже оборзел — 6 минут «please, try again».

anonymous
()

первый раз что-то слышу про ranger. пистон, естессна, не нужен, C - это гут. и картинки вроде ничего. но чем оно лучше mc?

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

Эх, не дождался mc своего убийцы… =D

mc вполне себе живой, если я правильно понял намёк.

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

Тем, что управление заточено на вимеров.

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

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

Приписал оппоненту то, чего оппонент не говорил, успешно опроверг. Всё как всегда.

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

Не знаю, удивишься ты или нет, но это удобнее и быстрее

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

Кстати говоря, если ты вдруг всё же не потроллить пришёл — в графических ФМ действительно нет ничего плохого. Меня бы вполне устроил графический ФМ с хорошим клавиатурным управлением, что-то типа Double Commander, если туда добавить интеграцию с терминалом хотя бы на уровне mc (а лучше — на уровне Far) и ещё кое-какие плюшки.

Но увы, большинство говорящих здесь про «графические ФМ» имеют в виду очередной 100500-й клон Проводника Windows с эргономикой уровня «солдат спит, служба идёт».

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

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

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

форсированная двупанельность

Почему форсированная? Можно и одну использовать, просто не запускать команды, которые используют две.

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

Вторая панелька все равно отъедает место. И я после ranger'а привык, что в правой половине делается автоматический «exploring», так скажем, выделенной директории.

А в vifm нет, случаем, ranger'овского аналога «open file with...»?

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

Вторая панелька все равно отъедает место.

Нет, не обязательно.

И я после ranger’а привык, что в правой половине делается автоматический «exploring», так скажем, выделенной директории.

Можно сделать :view с двумя панелями или :set millerview с любым количеством. Только превью файла в колонке не будет (хотя может появится в будущем).

А в vifm нет, случаем, ranger’овского аналога «open file with…»?

Я не знаю, как оно в ranger, но есть :filetype и меню по :file.

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

Можно сделать :view

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

но есть :filetype и меню по :file

В общем, надо конфигурять всё это дело, как я понимаю. Уныленько, но ладно. Из самого ranger'a можно написать команду, которая будет обрабатывать выделенный файл.

Но тем не менее, спасибо за экскурс. Буду думать, либо ranger воскрешать, либо переходить на альтернативы.

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

Для любителей минимализма и suckless-подхода, кстати, есть ещё noice (от которого и произошёл nnn):

$ find nnn -name '*.h' -o -name '*.c' | xargs wc -l
     239 nnn/src/nnn.h
    4293 nnn/src/nnn.c
    4532 total
$ find noice-0.7 -name '*.h' -o -name '*.c' | xargs wc -l
      55 noice-0.7/strlcat.c
      50 noice-0.7/strlcpy.c
     105 noice-0.7/config.def.h
       5 noice-0.7/util.h
     917 noice-0.7/noice.c
    1132 total

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

придумали Московскую психиатрическую больницу имени Кащенко.

Такой нет на текущий момент. Можно было бы предложить Вам вернуть машину времени, да вот только когда её(больницу) придумывали она также называлась не «имени Кащенко». Итого вы предлагаете что-то не существующее и не существовавшее ранее, учитывая слово «придумали».

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

Я знаю, это в советское время она была имени Кащенко, сейчас имени Алексеева. Однако большинство знают её именно как Кащенко.

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

кстати, nnn понравился: интуитивный интерфейс, ничего лишнего, очень легковесный.

Iron_Bug ★★★★★
()

Хочется странного

Вот есть двухпанельные и трехпанельные ФМ. Существуют ли файловые менеджеры для, которые позволяют открыть от 1 до N окон и управлять их расположением (нечто вроде тайлинга)?

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

Отличная поделка, кста. Недопилена немного, но терпимо.

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

tmux - терминальный мультиплексор. То есть взаимодейстовать два экземпляра того же mc, насколько я знаю, в разных панелях не смогут. Но направление какое-то такое, да.

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

Если взаимодействие через общий буфер обмена подойдёт, то можно поэкспериментировать с tmux/screen+vifm. Надо выставить опцию 'syncregs', экземпляры с её непустым и одинаковым значением синхронизируют регистры, т.е. файлы можно будет перемещать/копировать. Сам особо не пробовал, но автор реализации примерно так и делает, только с окнами терминалов. Ну и в принципе всё, что умеет в общий/внешний буфер обмена, должно аналогично работать.

xaizek ★★★★★
()

Годнота! Нужно.

Deleted
()

смущают
1) malloc() на каждый чих
2) отсутствие проверки результата malloc()
3) обилие magic numbers
4) тонна global variables
5) старопердунская привычка использовать int в тех местах где надо size_t

но в целом выглядит интересно и годно, однозначно + автору

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

не видел в стандартах никакой инфы о оверкоммитах

Не видел Откровений Рыжего Пророка?

In fact, the way I see things the Linux API has been taking the role of the POSIX API and Linux is the focal point of all Free Software development. Due to that I can only recommend developers to try to hack with only Linux in mind and experience the freedom and the opportunities this offers you. So, get yourself a copy of The Linux Programming Interface, ignore everything it says about POSIX compatibility and hack away your amazing Linux software. It's quite relieving!


Ну и в том же Гнуме/глиб довольно давно отвечали на такие претензии (почему в глибной обертке аллокатора не проверяется результат), что в современном юниксе (т.е. читай: линуксе) проверка результата ничего не даст — оверкоммит-по-умолчанию и все дела. И что если не удалось зарезервировать 20-40 байтов, то система уже или висит или находится в процессе.

Короче, по современным меркам спецов ЛОРа и опеннета, результат маллока проверяют только нубы и вчерашние вендузатники.

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

Не видел Откровений Рыжего Пророка?

в том же Гнуме/глиб

linux api и The Linux Programming Interface это никакой не стандарт

POSIX - стандарт.

что в современном юниксе (т.е. читай: линуксе) проверка результата ничего не даст

И это повод игнорировать стандарт? А если в какой-то ОС, которая поддерживает POSIX вполне себе серьезно возвращается NULL когда память _реально заканчиваеттся_ несмотря на то что другие ОС забивают болт?

И что если не удалось зарезервировать 20-40 байтов, то система уже или висит или находится в процессе.

И почему же она висит?
В идеальных условиях (т.е. не в линуксовых) когда закончилась память и всем памятежрущим прогам мы вернули NULL на попытку получить больше памяти ничего висеть не должно.

по современным меркам спецов ЛОРа и опеннета, результат маллока проверяют только нубы и вчерашние вендузатники

Может потому что спецы лора как раз и состоят из нубов и вчерашних вендузятников?

Я вообще всё это веду к тому, что:

1) Либо человек следует POSIX и потом в документации у себя пишет что его прога будет работать на всех POSIX ОС
2) Либо человек кладёт болт на POSIX, и вообще ни разу не заикается потом о стандарте (ибо будет пустозвоном), а у себя в документации пишет список ОС (и их версий, настроек) с которыми она будет работать

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

linux api и The Linux Programming Interface это никакой не стандарт
POSIX - стандарт.

И как, много докеров, флатпаков и прочего добра вне линукса видели? По факту, их прибили к пингвину и никто ничего менять уже не будет — хотите использовать, ставьте линух, не хотите — ходите голод^W маргиналом. А из-за того, что многие современные «технологии» не работают под непингвинами, непинвгинов все больше перекидывают в /dev/null. Замкнутый круг.
А раз пингвин стал новым стандартом де-факто, то …

И это повод игнорировать стандарт? А если в какой-то ОС, которая поддерживает POSIX вполне себе серьезно возвращается NULL

Но ведь кроме линукса больше ничего нет! Маргинальная маргинальщина разве что, где-то там, на паре виртуалок и пуссиэкзей!
А раз так, то зачем учитывать сферические в вакууме случаи?
ну и да, если серьезно, то «благодаря» современным технологиям и жопорукому софту в граф. окружении, гонять это самое граф. окружение без оверкоммита будет проблематично (выжрут память чисто профилактическими аллокациями, типа «зарезервировать 2ГБ под пул для массивов, 4ГБ под блок связанных виртуальных адресов для GC …»).

Я вообще всё это веду к тому, что:
2) Либо человек кладёт болт на POSIX, и вообще ни разу не заикается потом о стандарте (ибо будет пустозвоном), а у себя в документации пишет список ОС (и их версий, настроек) с которыми она будет работать

Я вообще-то вел к тому, что шутки-шутками, а пункт 2) как раз таки реализуется перепончатым сообществом все в большей и большей мере. Кладется болт на совместимость с чем-либо кроме любимой бубунточки, причем болт этот нелинуксятникам все сложнее и сложнее игнорировать.

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

И как, много докеров, флатпаков и прочего добра вне линукса видели?

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

А для задачи «запустить/развернуть 1 кнопкой бегом прям щас!» у меня есть vagrant.

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

пофиксил

Но ведь кроме линукса больше ничего нет!

в манямирке может ничего и нет, а в реальном мире таки есть

Я вообще-то вел к тому, что шутки-шутками, а пункт 2) как раз таки реализуется перепончатым сообществом все в большей и большей мере

Верно. И меня это удручает. И я так не делаю, либо _стараюсь не делать_ когда возможно.

болт этот нелинуксятникам все сложнее и сложнее игнорировать

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

reprimand ★★★★★
()

Тормозит при попытке показать содержимое некоторых файлов. Из-за этого не выглядит быстрее, чем ranger.

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

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

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

Уже. Правда, у него там в чеклисте в ридми стоят галочки напротив всех пунктов кроме «Refactor Code».

судя по всему он над этим и работает, и я не хочу повторять одну и ту же работу дважды, и потому жду пока он выкатит изменения

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