12/22/2008

Midnight Commander: установка, обновление и использование MC

Будучи поклонником двухпанельных файловых менеджеров, я просто не мог пройти мимо такого знаменательного события! Midnight Commander, он же MC после многих лет простоя обновился до версии 4.6.3. В ней подавлено много жуков и тараканов на радость простым пользователям. Этому и посвящена сия заметка.

Надо сказать, что Midnight Commander является наследником традиций norton commander, так что если кто скучает по легендарному двухпанельному файловому менеджеру, тот найдёт в Linux его достойную замену в лице Midnight Commander.


Что изменилось в новом Midnight Commander?
Из наиболее разительных изменений: поменялась подсветка типов файлов по умолчанию, починен старый и весьма раздражающий баг "Интерпретатор занят выполнением команды", отображение объёма свободного места в текущей точке монтирования и просто огромное количество других изменений. Разработчики так же обещают в ближайшем времени продолжить охоту за багами и объединить все накопившиеся патчи, чтобы любимый многими Midnight Commander стал ещё краше.

В целом всё это стоит того, чтобы обновить старый-добрый Midnight Commander. Для некоторых дистрибутивов есть сборки, так что скачать mc можно на странице проекта сразу в собранном для вашего дистрибутива виде. Для тех же из нас, кто как и автор этих строк использует Rock-Solid Debian Stable, сборка Midnight Commander из исходников сразу в пакет проблемы не составит. Достаточно скачать приглянувшийся срез отсюда и дать несколько простых команд:
dh_make --createorig
и пишем, что пакет собрали мы сами, после чего:
debuild
и наблюдаем, как за несколько мгновений собирается Midnight Commander. Сборка должна пройти без проблем, и полученный deb-пакет легко и просто ставится:
dpkg -i mc_4.6.3-1_i386.deb
На этом установка mc завершена, существующий Midnight Commander будет обновлён до версии 4.6.3. После этого набираем привычное mc и наслаждаемся. Вот как выглядит Midnight Commander у меня в Yakuake:


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

Клавиатурные сокращения MC
Чтобы выжать из
Midnight Commander всё, стоит запомнить хотя бы несколько клавиатурных сокращений, которые могут сильно облегчить выполнение задач. Клавиатурные комбинации в Midnight Commander имеют особенность: комбинация Ctrl + x c означает, что нужно нажать CTRL и X, отпустить и потом нажать клавишу C.

Итак, некоторые комбинации клавиш Midnight Commander:
  • Ctrl + R обновляет активную панель;
  • Ctrl + X C посмотреть/поменять права (chmod) для отмеченных файлов;
  • Ctrl + X O посмотреть/поменять владельца (chown) для отмеченных файлов;
  • Ctrl + S или Alt + S открывает диалог быстрого поиска (вводимые символы отображаются не в командной строке, а в строке поиска);
  • Ctrl + X A открывает диалог виртуальных файловых систем;
  • Ctrl+ \ вызывается меню часто используемых каталогов.
  • Ctrl + X J показываются все фоновые задачи.
  • Ctrl + X T послать выделенные объекты в командную строку
  • Ctrl + X S создать символическую ссылку (symlink)
  • Ctrl + X Q быстрый просмотр содержимого файла на второй панели.
  • Ctrl + X I быстрый просмотр информации о текущем объекте на второй панели.
  • ESC + T или ALT + T cмена вида панели (стандартный, укороченный, расширенный);
  • ESC + H или ALT + H вызов списка последних выполненных команд;
  • Alt + G отмечает первый файл или каталог в отображаемом списке на панели
  • Alt + R отмечает средний файл или каталог в отображаемом списке на панели
  • Alt + J отмечает последний файл или каталог в отображаемом списке на панели
  • Alt + O неактивная панель переходит в каталог на который указывает активная панель.
  • Alt + . не показывать или показать скрытые файлы или каталоги.
  • Alt + , переключить режим отображения панелей (вертикально/горизонтально).
  • + (Plus) вызывает окно для выделения группы файлов (можно использовать регулярные выражения)
  • \ (Backslash) снимает отметку с группы файлов (действие, обратное тому, которое
    вызывается по клавише "+").
Следует отметить, что по крайней мере в версии 4.6.3 клавиатурные комбинации могут не работать, если выключена русская раскладка.

Ассоциация приложений в Midnight commander
Например, если подсветить PDF-файл и нажать Enter, должен запуститься KPDF/Evince и открыться PDF-файл. Если этого не произошло, идём копировать файл настроек из /etc/mc и ложить его в в .mc/bindings
Дело в том, что MC не читает глобальный конфиг, о чём люди на форумах часто не пишут. Так что редактировать нужно локальную копию.

Так же редактировать это можно прямо внутри MC: F9 - Command - Edit extension file
и правим там ассоциации с расширениями файлов.

Ссылки
Теперь основное развитие Midnight Commander идёт здесь, где лежат исходники, немного собранных пакетов и вполне приличная документация на русском языке. Список горячих клавиш Midnight Commander так же есть и на английском. Интересная инструкция по работе с Midnight Commander лежит здесь. Шпаргалка по основным сокращениям MC находится здесь.

20 комментариев:

  1. Вроде бы, это не официальный апдейт mc, а его неофициальный форк...

    ОтветитьУдалить
  2. >Alt + J неактивная панель переходит в каталог на который указывает активная панель.

    Здесь вы наверное хотели сказать "Alt + O"

    Спасибо за заметку :)

    ОтветитьУдалить
  3. Собрал пакет для Ubuntu Intrepid Ibex 8.10. Взятьб можно в моем PPA:
    deb http://ppa.launchpad.net/telenga/ubuntu intrepid main
    deb-src http://ppa.launchpad.net/telenga/ubuntu intrepid main

    ОтветитьУдалить
  4. >> Ctrl + X O посмотреть/поменять владельца (chmod)...

    Очевидно, Вы имели ввиду "chown".

    ОтветитьУдалить
  5. 2 arti комментирует...
    Вроде бы, это не официальный апдейт mc, а его неофициальный форк...
    Официальных апдейтов нет и видимо не будет, так что думаю, что стоит считать официальным обновлением.


    2 Анонимный комментирует...

    >Alt + J неактивная панель переходит в каталог на который указывает активная панель.

    Здесь вы наверное хотели сказать "Alt + O"
    Да, именно так. Поправил, спасибо!

    Спасибо за заметку :)
    Пожалуйста. Эта заметка заставила собрать все мои разрозненные записки по горячим клавишам МС.

    2 voland комментирует...
    Собрал пакет для Ubuntu Intrepid Ibex
    Собирается пакет действительно просто, и главное быстро :-)

    2 Alexandr комментирует...
    Очевидно, Вы имели ввиду "chown".
    Да, спасибо, исправил.

    ОтветитьУдалить
  6. Да это не официальный форк mc. Ведутся переговоры о завоевании мира. Если они провалятся, то будет mc+.

    Миш, вот тебе ещё кульная комбинация Ctrl + Space - подсчёт размера каталога.

    ОтветитьУдалить
  7. Классно, когда-то давно пользовался этой программой, правда потом заменил на более новую.

    ОтветитьУдалить
  8. Piece и на какую же заменил коли не секрет?

    ОтветитьУдалить
  9. Не мешало бы ещё вкратце обмолвиться, что в mc многие клавиатурные сочетания перекочевали из операционной системы, то есть, виноват, текстового редактора Emacs, так что комбинации клавиш ^P/^N/^F/^B, заменяющие стрелки, прокатят и здесь.

    ОтветитьУдалить
  10. Вопрос к тем, кто собирал под убунту: я тоже собрал под 8.04. Все прошло гладко, но после запуска пошли "съезжать" некоторые строки. :( Выглядит это, как буд-то строка при отрисовки не правильно обсчитана по длинне, часть символов съезжает влево, а остаток строки дополнен черным. Очень раздражает. Сечас конечно пороюсь у них на сайте, но может кто-то уже знает в чем трабла?

    ОтветитьУдалить
  11. Юникод однако... Попробуйте собрать его с ncurses вместо slang и наоборот. Хотя я не понимаю, чем плоха бинарная сборка, и зачем нужно собирать свою.

    ОтветитьУдалить
  12. во время установки мс пишит не устоновлен Libgpmgl

    ОтветитьУдалить
  13. Большое спасибо, я и не думал что его когда нибудь обновят. Если бы только они еще сделали выход на уровень вверх по Backspace - мелочь, а так бы жизнь облегчило.

    ОтветитьУдалить
  14. Большое спасибо, я и не думал что его когда нибудь обновят. Если бы только они еще сделали выход на уровень вверх по Backspace - мелочь, а так бы жизнь облегчило.
    Не сделают, так как там и консолька есть, для которой escape и предназначен. + в настройках mc есть опция "Lynx-mode navigation".
    во время установки мс пишит не устоновлен Libgpmgl
    apt-get -f install

    ОтветитьУдалить
  15. А разве это официальный релиз MC?

    ОтветитьУдалить
  16. 2 Olly Cat
    Нвидиа? qt4.x? Это баг эмулятора терминала а не mc. У меня такой же... Ждем пока nokia свой qt допилит

    ОтветитьУдалить
  17. новость интересная, хотя читаю ее почти через год. МС почти не использую. работал еще с NC под DOC... но после появления gnome commander перешел на него...

    ОтветитьУдалить
  18. Вот ещё несколько полезных горячих клавиш:

    Alt+I неактивная панель переходит в каталог в котором находится активная панель.

    Esc+Tab автодополнение в командной строке и в диалоговых окнах (для получения списка вариантов надо нажать дважды)

    Для того чтобы работала вставка по Ctrl+V надо удерживать клавишу Shift.

    Alt+Shift+H (Esc+Shift+H) открывает список посещённых каталогов для текущей панели.

    ОтветитьУдалить
  19. Всем отписавшимся большое спасибо за интересные мысли. Особенно по сочетаниям клавиш.

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

    ОтветитьУдалить
  20. в терминале Ctrl-Alt-F1 у меня Midnight Commander как файлы так и меню программы выводит на русском в виде квадратиков. Этого естественно нет при работе системы с жесткого диска, "беда" происходит из live-cd. Я согласен с файловым деревом, но как сделать английским меню? Если где есть готовый "английский" mc.deb i386 для Ubuntu, дайте ссылочку пожалуйста.

    ОтветитьУдалить