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

    그것은 이맥스의 열등 쉘이 있다고 가정 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 현재 작업 디렉토리를 나타냅니다.

  • 또는 다음을 사용하여 존재하지 않는 상위 디렉토리로 새 파일을 작성하십시오 C-x C-f.

    M-x make-directory RET RET

Emacs는 최신 Emacs 버전으로 새 파일을 저장하는 동안 상위 디렉토리를 자동으로 작성하도록 요청합니다. 이전 버전의 경우 파일을 저장할 때 Emacs가 중간 디렉토리를 작성하는 방법을 참조하십시오 .


1
안녕하세요 JF Sebastian, shell에서 디렉토리를 만들 때 디렉토리 창을 업데이트하는 방법은 무엇입니까?

2
@ 이유 : type g. 일반적으로 M-x describe-mode RET( C-h m)는 현재 주요 모드의 문서를 표시합니다.
jfs

매우 감사합니다! 그러나 당신은 내가 Mx g 또는 Cx g를 입력한다는 것을 의미합니까?

1
@ 왜 그는 단일 의미합니다 g. dired-mode편집 모드가 아니기 때문에 단일 문자 명령을 직접 사용합니다 (호기심 : 대부분의 편집 모드에서 g바인딩 됨 self-insert-command).
Vicky Chijwani

42

Ctrl+ X D( C-x d)를 눌러 "dired"모드로 디렉토리를 연 다음 +디렉토리를 만듭니다.


새 파일 경로 디렉토리가 무엇이든 마지막에 '+'가 있다고 가정합니까?
Ray

Cx Cf를 수행하고 "+ dirname"을 입력하면 emacs는 "+ dirname"파일을 생성하지만 "dirname"디렉토리는 생성하지 않습니다. 나는 OSX와 함께 일하고 있는데 Linux에서 이것이 효과가 있었기 때문에 그것이 문제인지는 모른다.
Zeynel

4
@Zeynel : 당신은 읽고 있지 않습니다. C-x C-f여기는 없습니다 . 당신은 사용 C-x d하면 하위 디렉토리를 생성하려는 디렉토리를 방문, Dired 모드에 들어갈. 그런 다음을 누르십시오 +. 그게 다야.
Drew

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.