Pergunta

Sou bastante novo no Emacs e tenho tentado descobrir como alterar a pasta padrão do C-x C-f no arranque.Por exemplo, quando carrego o Emacs pela primeira vez e clico C-x C-f sua pasta padrão é C:\emacs\emacs-21.3\bin, mas prefiro que seja a área de trabalho.Eu acredito que há alguma maneira de personalizar o .emacs arquivo para fazer isso, mas ainda não tenho certeza do que é.

Atualizar:Existem três soluções para o problema que descobri que funcionam, mas acredito que a solução 3 é apenas para Windows.

  • Solução 1:Adicionar (cd "C:/Users/Name/Desktop") para o .emacs arquivo

  • Solução 2:Adicionar (setq default-directory "C:/Documents and Settings/USER_NAME/Desktop/") para o .emacs arquivo

  • Solução 3:Clique com o botão direito no atalho do Emacs, clique em propriedades e altere o campo iniciar para o diretório desejado.

Foi útil?

Solução

Você não disse isso, mas parece que está iniciando o Emacs a partir de um atalho do Windows.

O diretório que você vê com c-x c-f é o cwd, em termos do Emacs, o default-directory (uma variável).

Quando você inicia o Emacs usando um atalho do MS Windows, o default-directory é inicialmente a pasta (diretório) especificada no campo "Iniciar em" das propriedades do atalho.Clique com o botão direito no atalho e selecione Properties, e digite o caminho para sua área de trabalho no campo Start In campo.

Se você estiver usando o Emacs na linha de comando, default-directory começa como o diretório onde você iniciou o Emacs (o cwd).

Essa abordagem é melhor do que editar seu arquivo .emacs, pois permitirá que você tenha mais de um atalho com mais de um diretório inicial e permitirá que você tenha o comportamento normal da linha de comando do Emacs, se necessário.

CWD = diretório de trabalho atual = PCD = atual diretório de trabalho.Faz muito mais sentido na linha de comando do que em uma GUI.

Outras dicas

Acho que a linha que você precisa adicionar ao seu .emacs é

(setq default-directory "C:/Documents and Settings/USER NAME/Desktop/" )

O Emacs iniciará na sua área de trabalho dessa forma, a menos que você tenha um arquivo aberto.Caso contrário, ele geralmente começará no mesmo diretório do arquivo em seu buffer atual.

Você pode digitar o comando 'cd' emacs.(M-x cd) para alterar a pasta padrão como única.

eu coloquei

(cd "c:/cvsroot/")

no meu .emacs e funcionou

A pasta padrão é na verdade igual à pasta de trabalho atual do buffer, ou seja,pode ser diferente para cada arquivo com o qual você trabalha.Digamos que o arquivo com o qual você está trabalhando esteja localizado em C:\dir_a, então o diretório de trabalho desse buffer será, por padrão, C:\dir_a.Você pode mudar isso com M-x cd e digite qualquer diretório que você gostaria que fosse o padrão (e por padrão quero dizer aquele que aparecerá quando você fizer isso C-x C-f).

Se você iniciar o emacs sem abrir um arquivo, você terminará com o *scratch* buffer aberto.Se você iniciou o emacs a partir de um atalho do Windows, o diretório de trabalho será o mesmo especificado nas propriedades do atalho.Se você o iniciou na linha de comando, será o diretório de onde você o iniciou.Você ainda pode alterar este diretório padrão com M-x cd, também do *scratch* amortecedor.

Finalmente, você pode fazer o que Vadim sugere e colocar

(cd "c:/dir_a/")

na tua .emacs arquivo, para tornar esse diretório o padrão, não importa como você inicia o emacs.

Como você está no Windows, você pode fazer isso com um atalho.

Crie um atalho para C:\emacs\emacs-21.3\bin\runemacs.exe.Edite as propriedades do atalho e altere o valor de Start In: para ser o que você deseja que seu diretório padrão seja.

Estou usando o emacs 22.2.1 no Windows XP e fui ajudado pelas respostas acima para obter a resposta no minibuffer que desejo para o comando Cx Cf.Inicialmente, eu estava recebendo "Find File:C:\Arquivos de Programas\emacs\bin/" como Anton.Eu tenho o HOME definido como "C:\Documents and settings OME DE USUÁRIO\Meus Documentos".A resposta para C-x C-f que desejo no minibuffer é "Localizar arquivo:~/".Ao adicionar (setq default-directory "C:/Documents and Settings/USER NAME/My Documents") ao meu arquivo .emacs, consegui obter a resposta "Find file:C:\Documents and settings OME DE USUÁRIO\Meus Documentos/" que é funcionalmente igual a "Localizar arquivo:~/".No entanto, notei mais um ponto."Personalizar Emacs" em "Opções" me permitiu inibir a tela de inicialização.Agora, quando abro o emacs, vou imediatamente para o buffer temporário.Quando digito C-x C-f no buffer de rascunho, obtenho a resposta exata que desejo.

Adicionei ao meu atalho (no Gnome, Linux) um pramater que é um nome de arquivo fictício em branco e especifico o diretório.Como o padrão do meu emacs é "home", simplesmente digo:

/Desktop/arquivo_em branco

e isso abre um arquivo chamado "blank_file"

Isso também move o diretório de trabalho atual da sessão do emacs para a área de trabalho.

Se acontecer de eu colocar coisas em "blank_file", salve-as, é claro, tenho essas coisas salvas.O que pode ser um aborrecimento ou pode ser uma coisa boa, dependendo!

Para alterar o diretório padrão para DESKTOP no Dired e no shell, coloque isso em seu ~/.emacs:

;;Isso funciona para Windows XP.
(setq diretório padrão (concat "C:\Documents and Settings\MINHA_CONTA\DESKTOP\"))

No Windows 8, funciona para criar um atalho na área de trabalho e alterar a propriedade ‘Iniciar em:’ do atalho.

Agora, executei o programa emacs-23.3\bin\addpm.exe conforme recomendado, e na tela do Windows-8 (aquela invenção horrenda da Microsoft) apareceu um ícone-link para o Emacs.Mas aí você tem que alterar novamente a propriedade 'Start In'.(É diferente daquele da área de trabalho).Basta clicar com o botão direito, escolher na barra inferior ‘Abrir o local do arquivo’ (ou similar, fiz isso no meu idioma), e você será levado para a pasta com um novo atalho, no qual você também pode (deve) alterar o propriedade 'Iniciar em:'.

Um pouco complicado, mas na verdade muito fácil.

Já que a coisa mais chata é ter o Windows Emacs despejando você no system32 quando você está apenas usando o atalho, mas deseja que todos os outros casos funcionem, basta usar um pouco de elisp ...

(quando (string< "C:\WINDOWS\system32" diretório padrão) (setq diretório padrão "~/"))

Portanto, o padrão será o seu diretório inicial apenas quando você entrar no sistema.A única desvantagem é se você realmente deseja iniciar o emacs no system32...

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top