По прошествии нескольких месяцев после работы с операционной системой становится сложно найти что-либо в ворохе своих электронных «бумаг». Надо полагать, такая ситуация знакома каждому первому человеку, кто прибегает к услугам своего железного друга в качестве применителя (употребляя терминологию, введённую Alv'ом).
К счастью, в Emacs можно найти необходимые инструменты для работы с файлами и каталогами
(хотя на первый взгляд, они уступают привычным графическим окнам и боковым панелям
новомодных текстовых редакторов). Эта
небольшая заметка как раз посвящена одному из таких решений — dired.
Примечание
dired — сокращение от Directory Edit, старого термина, применяемого к тому, что сейчас называют файловым менеджером.
Устанавливать ничего не придётся, ибо эта функциональность является встроенной
(по крайней мере в Emacs 23-24, за предыдущие релизы не ручаюсь).
Запустить dired можно комбинацией клавиш Ctrl+x+d. Внизу экрана вы
сможете наблюдать небольшой буфер, отображающий имеющиеся каталоги. Выбор
каталога происходит интерактивно при вводе начальных символов его
имени. Автодополнение, конечно же, работает.
 
        Далее небольшая табличка-шпаргалка для удобства запоминания и подглядывания в нужный момент.
Основные действия при работе с dired
| действие | описание | 
|---|---|
| Enter | открыть выбранный каталог | 
| q | закрыть текущий каталог | 
| C | скопировать файл | 
| R | переименовать/переместить файл | 
| D | удалить файл | 
| plus | создать новую директорию | 
| Z | сжать/распаковать файл с gzip | 
Большинство допустимых команд также будет доступно при открытии меню Dir,
которое появится при входе в каталог с помощью dired.
 
        а как отметить файлы?
Временами появляется необходимость отметить более одного файла в каталоге. Да, и это также можно сделать, не имея под рукой никаких графических излишков, а именно:
| действие | описание | 
|---|---|
| m | отметить файл | 
| u | снять отметку | 
| U | снять отметку со всех файлов | 
| %m | отметить с использованием regex | 
Не забывайте подтверждать ввод при помощи Enter.
 
        ещё немного о навигации
| действие | описание | 
|---|---|
| g | обновить экран, если файлы были изменены | 
| ^ | переместиться к родительской директории | 
Также dired часто совмещают с командой shell-command, которая позволяет вам
ввести любую команду, поддерживаемую командной оболочкой, такой как bash,
zsh и, например, PowerShell. Это может быть ls, dir или что-то иное.
Разумеется, доступны различные сторонние плагины, призванные сделать перемещение по каталогам удобнее, привычнее... в общем подстроиться под вас. Но надо отметить, что для большинства повседневных задач это попросту излишне: доступ к каталогам/файлам и без того получается быстрым.
Возможно, желающим сделать из Emacs подобие IDE следует рекомендовать освоить дополнительную функциональность в виде CEDET.