Когда я создаю один файл в Emacs, я не могу открыть каталог - PullRequest
0 голосов
/ 03 февраля 2012

Я использую C-x C-f и C -X C-s, чтобы сохранить файл в каталоге "test", затем я не могу открыть тестовый каталог с помощью "tab", он говорит: "Dired (directory): ~ / test ... .. ".

Я хочу знать, что является неправильным и правильным способом создания файла в emacs, спасибо!

1 Ответ

3 голосов
/ 03 февраля 2012

Emacs различает файлы и буферы .Вы выполняете все ваши редактирования в буферах, которые не обязательно должны быть связаны с файлом (см., Например, буфер *scratch*).Однако вы часто хотите редактировать буфер, связанный с файлом.В этом случае вы посещаете (Emacs lingo для "open") указанного файла с Cx Cf .

Допустим, у вас есть каталог "test" в вашем домашнем каталогеи в этом каталоге один файл "foo.txt".Если вы хотите отредактировать содержимое этого файла, зайдите в него, набрав:

Cx Cf ~ / test / foo.txt RET

Это достаточно просто: теперь выполучить новый буфер в Emacs, который удобно назван в честь файла, который вы посещаете ("foo.txt").Если вы хотите сохранить изменения, внесенные в буфере, обратно в связанный файл, введите Cx Cs , и Emacs запишет содержимое буфера в файл "~ / test / foo.txt".

Этот механизм также работает для файлов, которые не существуют, когда вы начинаете редактирование!

Если вы наберете, скажем,

Cx Cf ~ / test /bar.txt RET

Вы получаете буфер, связанный с (но еще не существующим) файлом "bar.txt" в каталоге "~ / test".Опять же, вы можете отредактировать этот буфер по своему вкусу, а затем сохранить буфер с помощью Cx Cs .При первом создании этого файла создается новый файл.

Если вы хотите создать буфер с именем «baz», который не связан ни с одним файлом, введите

Cx bbaz RET

Поскольку он еще не связан с файлом, при вводе Cx Cs в этом буфере вам будет предложено указать имя файла.После сохранения буфер будет связан с указанным вами файлом.

Наконец, если вы находитесь в буфере, связанном с файлом, но хотите сохранить его в другом файле, вы можете сделатьто же самое с Cx Cw , который выдаст вам ту же подсказку, что и в предыдущем случае.Опять же, буфер будет связан после сохранения с предоставленным вами файлом.


Заполнение табуляции работает во всех командах, которые запрашивают у вас имя файла.Если вы считаете, что это не так, то это может быть связано с тем, что файл, который, по вашему мнению, должен быть завершен, не существует (также следует помнить о различиях в именах файлов в верхнем / нижнем регистре) или потому, что другой файл с таким же префиксом запрещает дальнейшее устранение неоднозначности.Двойное нажатие TAB должно отобразить список доступных завершений во временном буфере, что позволит вам продолжать указывать имя пути до его завершения.


Режим Dired в значительной степени ортогонален всемвыше.Это режим для «редактирования» каталогов, т. Е. Выполнения операций файловой системы.Вы вызываете его, набирая Cx d , который вы, возможно, набрали случайно ?!Это довольно мощный, но и довольно сложный.См. здесь для документации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...