Emacs内からディレクトリを作成するにはどうすればよいですか?


142

Emacsを使用してどのように正確に新しいディレクトリを作成できますか?どのコマンドを使用しますか?(可能であれば、例を提供してください)

回答:


195
  • ディレクトリを作成するにはdir/to/create、次のように入力します。

    M-x make-directory RET dir/to/create RET
  • ディレクトリを作成するdir/parent1/nodedir/parent2/node、入力します。

    M-! mkdir -p dir/parent{1,2}/node RET

    Emacsの下位シェルがbash/ zshまたは他の互換シェルであると想定しています。

  • またはDiredモードで

    +

    存在しない親ディレクトリは作成されません。

    例:

    C-x d *.py RET ; shows python source files in the CWD in `Dired` mode
    + test RET     ; create `test` directory in the CWD

    CWD Current Working Directoryの略です。

  • または、次のコマンドを使用して、存在しない親ディレクトリを含む新しいファイルを作成しますC-x C-f

    M-x make-directory RET RET

Emacsは、最近のEmacsバージョンで新しいファイルを保存するときに、親ディレクトリを自動的に作成するように求めます。古いバージョンについては、ファイルを保存するときにEmacsが中間ディレクトリを作成する方法を参照してください


1
こんにちはJFセバスチャン、シェルでディレクトリを作成するとき、ディレクトリウィンドウを更新する方法は?
なぜ

2
@why:タイプ g。一般にM-x describe-mode RETC-h m)現在のメジャーモードのドキュメントを表示します。
jfs

どうもありがとう!しかし、Mx gまたはCx gを入力するということですか?
なぜ

1
@なぜ彼はシングルを意味する gます。以来dired-mode(:好奇心のために編集モードではありません、それが直接、単一文字のコマンドを使用していますgにバインドされているself-insert-commandほとんどの編集モードで)。
Vicky Chijwani

42

Ctrl+ X DC-x d)ディレクトリを「dired」モードで開き、次に+ディレクトリを作成します。


「+」は、新しいファイルパスディレクトリが何であろうとするものの最後にあると思いますか?
レイ

Cx Cfを実行して「+ dirname」と入力すると、emacsはファイル「+ dirname」を作成しますが、ディレクトリ「dirname」を作成しません。私はOSXで作業していますが、Linuxでこれが機能したため、それが問題であるかどうかはわかりません。
Zeynel 2013

4
@Zeynel:あなたは読んでいない。ここはありませんC-x C-f。を使用C-x dして、Diredモードに入り、サブディレクトリを作成するディレクトリにアクセスします。次に、ヒットし+ます。それで全部です。
2014年

8

を使用して単一のシェルコマンドを実行することもできます。 M-!

基本的にはコマンドラインに文字列を送信するので、オートコンプリートはうまくいきませんが、コマンドラインからアクションを実行する方法はわかっているが、Emacsと同等の方法がわからない場合に役立ちます。

M-! mkdir /path/to/new_dir

これは機能し、後で「g」を入力して画面の内容を更新します。
ミスティージュ

5

きっと今日は苦労してやったと思います。やった:

M-x shell-command

その後

mkdir -p topdir/subdir

4

M-x make-directory任意のバッファー内で使用できますが、必ずしもdiredバッファーである必要はありません。それもあなたが使用できるlisp関数です。


2

Emacsでディレクトリを自動的に作成する方法を探しているときに、この質問に出くわしました。私が見つけた最良の答えは、数年後の別のスレッドでした。Victor Deryaginからの答えは、まさに私が探していたものでした。そのコードを.emacsに追加すると、Emacsはファイルを保存するときにディレクトリを作成するように要求します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.