Управление файлами с dired

По прошествии нескольких месяцев после работы с операционной системой становится сложно найти что-либо в ворохе своих электронных «бумаг». Надо полагать, такая ситуация знакома каждому первому человеку, кто прибегает к услугам своего железного друга в качестве применителя (употребляя терминологию, введённую Alv'ом).

К счастью, в Emacs можно найти необходимые инструменты для работы с файлами и каталогами (хотя на первый взгляд, они уступают привычным графическим окнам и боковым панелям новомодных текстовых редакторов). Эта небольшая заметка как раз посвящена одному из таких решений — dired.

Примечание

dired — сокращение от Directory Edit, старого термина, применяемого к тому, что сейчас называют файловым менеджером.

Устанавливать ничего не придётся, ибо эта функциональность является встроенной (по крайней мере в Emacs 23-24, за предыдущие релизы не ручаюсь). Запустить dired можно комбинацией клавиш Ctrl+x+d. Внизу экрана вы сможете наблюдать небольшой буфер, отображающий имеющиеся каталоги. Выбор каталога происходит интерактивно при вводе начальных символов его имени. Автодополнение, конечно же, работает.

dired

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

Основные действия при работе с dired

действиеописание
Enterоткрыть выбранный каталог
qзакрыть текущий каталог
Cскопировать файл
Rпереименовать/переместить файл
Dудалить файл
plusсоздать новую директорию
Zсжать/распаковать файл с gzip

Большинство допустимых команд также будет доступно при открытии меню Dir, которое появится при входе в каталог с помощью dired.

dired-menu

а как отметить файлы?

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

действиеописание
mотметить файл
uснять отметку
Uснять отметку со всех файлов
%mотметить с использованием regex

Не забывайте подтверждать ввод при помощи Enter.

emacd dired

ещё немного о навигации

действиеописание
gобновить экран, если файлы были изменены
^переместиться к родительской директории

Также dired часто совмещают с командой shell-command, которая позволяет вам ввести любую команду, поддерживаемую командной оболочкой, такой как bash, zsh и, например, PowerShell. Это может быть ls, dir или что-то иное.

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

Возможно, желающим сделать из Emacs подобие IDE следует рекомендовать освоить дополнительную функциональность в виде CEDET.