Tentei procurar o arquivo .emacs para a minha instalação do Windows para Emacs, mas não consegui encontrar. Ele tem o mesmo nome de arquivo no Windows e no Unix?
Eu tenho que criar sozinho? Em caso afirmativo, em que diretório específico ele vai?
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
fonte
trailing garbage following expression
?Abra o arquivo assim no Emacs para Windows:
Mais informações no Wiki do Emacs
fonte
Na minha caixa do Vista está em
C:\Users\<USER>\AppData\Roaming\
fonte
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:
fonte
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 emc:\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
arquivoC:\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 nomeadoinit.el.txt
. Isso é algo que o Windows faz se você criar seu arquivo com algum editor como o Bloco de Notas.fonte
Nas versões do Emacs no Windows acima de 22, parece ter mudado para
,
~
sendo o valor de sua variável de ambiente HOME (consulte Painel de controle → Sistema → Avançado → Variáveis de ambiente ).O próprio arquivo pode não existir. Nesse caso, basta criá-lo.
fonte
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 * .
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 comexpand-file-name
como mostrado abaixo: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
.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:
fonte
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)
RETOu exiba seu caminho completo na área de eco com:
M-:
(expand-file-name user-init-file)
RETfonte
No Emacs 23 e Windows 7, ele só funciona se você definir:
fonte
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.
fonte
HOME
variável de ambiente de maneira diferente, dependendo de como eu iniciorunemacs.exe
. Se eu iniciá-lo no Explorer,HOME
está definido comoC:\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 é:
fonte
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
fonte
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 )
fonte
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).fonte