Como crio um diretório no Emacs?

142

Como exatamente posso criar um novo diretório usando o Emacs? Quais comandos eu uso? (Se possível, forneça um exemplo)

Raio
fonte

Respostas:

195
  • para criar o diretório dir/to/create, digite:

    M-x make-directory RET dir/to/create RET
  • para criar diretórios dir/parent1/nodee dir/parent2/nodedigite:

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

    Pressupõe que a concha inferior do Emacs seja bash/ zshou outra concha compatível.

  • ou em um Diredmodo

    +

    Ele não cria diretórios pai inexistentes.

    Exemplo:

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

    CWD significa Diretório de Trabalho Atual.

  • ou apenas crie um novo arquivo com diretórios-pai inexistentes usando C-x C-fe digite:

    M-x make-directory RET RET

O Emacs pede para criar os diretórios pai automaticamente, salvando um novo arquivo nas versões recentes do Emacs. Para uma versão mais antiga, consulte Como fazer o Emacs criar diretórios intermediários - ao salvar um arquivo?

jfs
fonte
1
Oi JF Sebastian, Quando crio um diretório no shell, como atualizar a janela do diretório?
por que
2
@why: type g. Em geral M-x describe-mode RET( C-h m) para exibir a documentação do modo principal atual.
jfs
Muito obrigado! Mas você quer dizer que eu introduzo Mx g ou Cx g?
por que
1
@Por que ele quer dizer um single g? Como dired-modenão é um modo de edição, ele usa comandos de uma letra diretamente (para os curiosos: gestá vinculado self-insert-commandna maioria dos modos de edição).
Vicky Chijwani
42

Ctrl+ X D( C-x d) para abrir um diretório no modo "dired" e +criar um diretório.

Kirk Strauser
fonte
Presumo que o '+' vá no final do que quer que seja o novo diretório do caminho do arquivo?
Raio
quando eu faço Cx Cf e digito "+ dirname", o emacs cria um arquivo "+ dirname", ele não cria um diretório "dirname". Estou trabalhando com o OSX, não sei se esse é o problema, porque no Linux isso funcionou.
Zeynel 9/13/13
4
@ Zeynel: Você não está lendo. Não há C-x C-faqui. Você usa C-x dpara entrar no modo Dired, visitando o diretório em que deseja criar um subdiretório. Então você bate +. Isso é tudo.
Tirou
8

Você também pode executar comandos de shell único usando M-!

Você está basicamente enviando uma string para a linha de comando para não obter uma boa conclusão automática, mas é útil se você souber executar uma ação através da linha de comando, mas não conhecer uma maneira equivalente ao Emacs.

M-! mkdir /path/to/new_dir
Cristian
fonte
Isso funciona, digite 'g' depois para atualizar o conteúdo da tela.
mistige 4/06
5

Acho que fiz isso da maneira mais difícil hoje. Eu fiz:

M-x shell-command

então

mkdir -p topdir/subdir
etank
fonte
4

Você pode usar M-x make-directorydentro de qualquer buffer, não necessariamente um buffer direcionado. É uma função lisp que você também pode usar.

Jonathan Arkell
fonte
2

Me deparei com essa pergunta enquanto procurava como criar diretórios automaticamente no Emacs. A melhor resposta que encontrei foi em outro tópico, alguns anos depois. A resposta de Victor Deryagin era exatamente o que eu estava procurando. Adicionar esse código ao seu .emacs fará com que o Emacs solicite que você crie o diretório quando salvar o arquivo.

Brian Taylor
fonte