Respostas:
Copie e cole do FAQ do Emacs, http://www.gnu.org/software/emacs/windows/ :
No Windows, o .emacs
arquivo pode ser chamado _emacs
para compatibilidade com os sistemas de arquivos DOS e FAT onde os nomes dos arquivos não podem começar com um ponto. Alguns usuários preferem continuar usando esse nome, porque o Windows Explorer não pode criar um arquivo com um nome que comece com um ponto, embora o sistema de arquivos e a maioria dos outros programas possam lidar com isso. No Emacs 22 e posterior, o arquivo init também pode ser chamado .emacs.d/init.el
. Muitos dos outros arquivos que são criados por pacotes Lisp agora são armazenados no .emacs.d
diretório também, então isso mantém todos os seus arquivos relacionados ao Emacs em um só lugar.
Todos os arquivos mencionados acima devem ir para o diretório HOME. O diretório HOME é determinado seguindo as etapas abaixo:
C:\.emacs
existir, use C:/
. Isso é para compatibilidade com versões anteriores, já que as versões anteriores eram padronizadas C:/
se o HOME não estava definido.No Emacs, ~
no início de um nome de arquivo é expandido para seu diretório HOME, então você sempre pode encontrar seu arquivo .emacs com C-x C-f ~/.emacs
.
Há mais informações em HOME e Diretórios de inicialização no MS-Windows .
Deve ser armazenado na variável user-init-file. Use C-H v user-init-file RET
para verificar. Você também pode abri-lo diretamente usandoM-x eval-expression RET (find-file user-init-file) RET
trailing garbage following expression
?
Na minha caixa do Vista está em C:\Users\<USER>\AppData\Roaming\
Observe que pode NÃO ser suficiente apenas digitar Ctrl-x Ctrl-f ~/.emacs
e criar o arquivo.
Pode ser que seu aplicativo Emacs use um local diferente para armazenar seu arquivo init e, se for o caso, então criar o arquivo ~ / .emacs simplesmente cria um arquivo inútil que seu aplicativo Emacs ignora.
Além disso, você pode querer fazer mais do que apenas acessar o arquivo init .emacs, mas pode querer saber onde ele está, ou seja, seu nome de caminho.
Para conseguir isso, existem dois métodos:
Maneira fácil: digite Ctrl+ H Vuser-init-fileReturn
Maneira um pouco mais complicada: você pode descobrir onde seu sistema está armazenando seu próprio arquivo .emacs:
c:/Users/user1/AppData/Roaming/.emacs.el
. Este site emacswiki.org/emacs/DotEmacsDotD me ajudou a perceber que eu precisava nomear o arquivo, o ~/.emacs.d/init.el
que significava que o arquivo no sistema de arquivos estava em c:\Users\user1\AppData\Roaming\.emacs.d\init.el
(nada do que eu esperava). Eu prefiro definir a variável de ambiente HOME e colocar o arquivo em meu %USERPROFILE%
diretório, que é o diretório HOME lógico do Windows (pelo menos no que me diz respeito).
No Windows 7, coloque seu init.el
arquivo C:\Users\user-name\AppData\Roaming\.emacs.d\
, onde nome de usuário é sua pasta de usuário / login.
Tome cuidado para que seu init.el
arquivo não seja nomeado init.el.txt
. Isso é algo que o Windows faz se você criar seu arquivo com algum editor como o Bloco de Notas.
Você deve criar um arquivo de inicialização emacs. Um não é criado automaticamente. Eu tive um problema semelhante e essa resposta rastreia o que eu fiz.
Meu problema era que meu ~/.emacs.el
arquivo não estava carregando. Estranho porque isso sempre funcionou para mim.
Esta pergunta / resposta me ajudou, mas eu tive que colocar meu arquivo init no %USERPROFILE%\AppData\Roaming\.emacs.d\init.el
porque este é aparentemente o comportamento padrão no Windows.
Para solucionar isso, executei o seguinte no buffer emacs * scratch * .
user-emacs-directory
"~/.emacs.d/"
Quando vi user-emacs-directory
era ~/.emacs.d
, simplesmente movi meu arquivo .emacs.el para %USERPROFILE%\.emacs.d\init.el
. Mas isso ainda não funcionou. Continuei com expand-file-name
como mostrado abaixo:
(expand-file-name user-emacs-directory)
"c:/Users/pats/AppData/Roaming/.emacs.d/"
Tenho que amar como o Windows funciona. (não) Mudei meu emacs.el
arquivo para o %USERPROFILE%\AppData\Roaming\.emacs.d\init.el
e funcionou. O arquivo agora estava sendo lido. Mas recebi outros erros porque meu arquivo de inicialização carregou outros arquivos (emacs pessoais) (em ~/myenv/emacs/*.el
.
Warning (initialization): An error occurred while loading ‘c:/Users/pats/AppData/Roaming/.emacs.d/init.el’:
Hum ... Parece que todos os meus arquivos ~/myenv/emacs/*.el
precisariam ser movidos para que isso funcionasse, mas eu não queria fazer isso. Então percebi que, como a variável de ambiente HOME não estava definida, o emacs estava executando seu comportamento padrão .
SOLUÇÃO
Depois de definir minha HOME
variável de ambiente do Windows para %USERPROFILE%
tudo, começou a funcionar como nos últimos 25 anos. :-)
Para definir a variável de ambiente HOME, digitei WindowsKey + "editar variáveis de ambiente para sua conta" para abrir a caixa de diálogo Variáveis de Ambiente e entrei HOME=%USERPROFILE%
.
Agora meu arquivo de inicialização do emacs .emacs.el está de volta ao seu devido lugar $HOME/.emacs.el
e não está%USERPROFILE%\AppData\Roaming\.emacs.d\init.el
Para ser justo, se o Windows tivesse apenas um lugar para colocar os arquivos dos pacotes instalados pelo usuário, a solução de fazer HOME = %USERPROFILE\AppData\Roaming
poderia ser aceitável, mas porque alguns aplicativos usam %USERPROFILE%
, alguns usam %USERPROFILE\AppData\Roaming
e outros usam %USERPROFILE\AppData\Local
, apenas torna difícil saber onde encontrar sua configuração arquivos.
Eu prefiro ter tudo no meu diretório% USERPROFILE% ou $ HOME.
Outra questão semelhante estava aqui:
Como kanja respondeu, o caminho para este arquivo é armazenado na user-init-file
variável (ou se nenhum arquivo init existir, a variável contém o valor padrão para onde criá-lo).
Portanto, independentemente de quais nomes de arquivo init possíveis você está usando e em qual diretório ele está, você deve ser capaz de visitar seu arquivo init com:
M-: (find-file user-init-file)
RET
Ou exiba seu caminho completo na área de eco com:
M-: (expand-file-name user-init-file)
RET
No Emacs 23 e Windows 7, ele só funciona se você definir:
HKCU\SOFTWARE\GNU\Emacs\HOME
Descobri que o Emacs 22 ocasionalmente abre "C: \ Documents and Settings \ username \ Application Data \ .emacs" ou apenas "C: \ Documents and Settings \ nome de usuário \ .emacs" na minha máquina XP. Eu não encontrei uma explicação de por que ele ocasionalmente muda de ideia.
~ sempre apontará para o que a instância atual do emacs pensa que é HOME, mas a dica de kanja (Ch v user-init-file) sempre dirá para onde ~ / .emacs realmente mapeia.
HOME
variável de ambiente de maneira diferente, dependendo de como eu inicio runemacs.exe
. Se eu iniciá-lo no Explorer, HOME
está definido como C:\Documents and Settings\username
, mas se eu iniciá-lo no menu Iniciar, HOME
está C:\Documents and Settings\username\Application Data
. Estranho.
No Windows XP é:
C:\Documents and Settings\yourusernamehere\Application Data\
Há uma lista de diretórios com base em sua versão do Windows e informações extras: http://www.gnu.org/software/emacs/manual/html_node/emacs/Windows-HOME.html
No Windows 8.1, se o Emacs for iniciado a partir do Windows Explorer , um atalho ou do console cmd, ele usa o arquivo init C: \ Users \ <USER> \ AppData \ Roaming.emacs . Quando eu inicio o Emacs no PowerShell, o Emacs procura seu arquivo init na pasta C: \ Users \ <USER> . A correção para esse problema foi definir a variável de ambiente do usuário HOME (Painel de Controle \ Sistema e Segurança \ Sistema-> Configurações avançadas do sistema-> Avançado-> Variáveis de ambiente) para C: \ Usuários \ <USER> . Após esta mudança, não importa como eu iniciei o Emacs, ele usa o mesmo arquivo init (veja a resposta aceita para esta questão )
Para WIndows7 e Emacs26.3:
se o HOME
ambiente estiver definido, o .emacs
arquivo deve estar nessa pasta.
caso contrário, deve estar em c:\
.
Em ambos os casos, se .emacs
não estiver lá, _emacs
deve ser usado.
Isso ocorre porque não podemos criar .emacs
arquivos de acordo com as regras de nomenclatura de arquivos do Windows (mas podemos fazer o download ou copiá-lo de outro lugar).