Your init file contains personal EmacsLisp code that you want to execute when you start Emacs.
- For GnuEmacs, it is
~/.emacs
or_emacs
or~/.emacs.d/init.el
.- For XEmacs, it is
~/.xemacs
or~/.xemacs/init.el
.
Estou usando o Emacs no Ubuntu 9.04.
Eu tenho meu arquivo de configuração do emacs no diretório ~/.emacs.d
.
Meu arquivo emacs é chamado de .emacs
.
Eu tenho algumas configurações básicas. No entanto, quando eu inicio o emacs, ele nunca carrega minha configuração e eu tenho que continuar usando manualmente, por exemplo.
M-X Transient-mark-mode
Meu arquivo emacs está listado abaixo:
;; Emac customization file path
(add-to-list 'load-path "~/emacs.d")
;; Use font lock mode
(global-font-lock-mode t)
;; Highlight cursor line
(global-hl-line-mode t)
;; Highlight selected region
(transient-mark-mode t)
Eu quero adicionar a essa configuração em vez de adicionar entradas manualmente.
Your init file contains personal EmacsLisp code that you want to execute when you start Emacs.
- For GnuEmacs, it is
~/.emacs
or_emacs
or~/.emacs.d/init.el
.- For XEmacs, it is
~/.xemacs
or~/.xemacs/init.el
.
A resposta de Torok Gabor é o que você está procurando. Eu só gostaria de apontar um pequeno erro no seu arquivo init, deve ser
(add-to-list 'load-path "~/.emacs.d")
Como Török disse, provavelmente você precisa renomear emacs
para init.el
.
Uma coisa que me deixou louco por um tempo é que, se o ~/.emacs
existir, o emacs não carregará ~/.emacs.d/init.el
. Portanto, se você tiver um ~/.emacs
, exclua-o e mova seu conteúdo para o outro arquivo ou (load "~/.emacs.d/init.el")
dentro de ~/.emacs
.
Deve-se mencionar, no entanto, que apenas o Emacs 22+ carrega ~/.emacs.d/init.el
como arquivo init alternativo por usuário. Como um recurso novo, mas compatível com versões anteriores, ele prioriza ~/.emacs
. Isso é organizado em lisp/startup.el
.
Após a inicialização, a variável user-init-file
contém o nome do caminho completo do arquivo init responsável, por exemplo. /home/me/.emacs.elc
ou C:\Users\Me\.emacs.d\init.el
etc. Para ver seu valor, no tipo de buffer *scratch*
(insert user-init-file)
seguido por C-x C-e
.
O diretório ~/.emacs.d/
é, na verdade, um local padrão para arquivos adicionais por usuário. O caminho é definido pela variável user-emacs-directory
do Emacs. No Windows, esse caminho depende da variável HOME
(não USERPROFILE
). Quando HOME
estiver definido como C:\
, por exemplo, será C:\.emacs.d
. Ao executar o Emacs portavelmente, eu coloco esse comportamento usando um arquivo em lote que define HOME
para um diretório no pen drive.
Não existem apenas arquivos Lisp neste diretório! Por exemplo, o recurso de salvamento automático armazena, por padrão, qualquer arquivo editado em ~/.emacs.d/auto-save-list/
(consulte a variável auto-save-list-file-prefix
). Isso me inspirou a armazenar arquivos de backup lá também:
(defvar --user-backup-directory (concat user-emacs-directory "backups"))
(if (not (file-exists-p --user-backup-directory))
(make-directory --user-backup-directory t))
(setq backup-directory-alist '(("." . ,--user-backup-directory)))
(setq make-backup-files t)
Antes do Emacs 22 eu também tinha um diretório ~/elisp
para meus arquivos Lisp pessoais. Agora eu uso
(pushnew (expand-file-name "~/.emacs.d/elisp") load-path)
como informado aqui .
Portanto, ~/.emacs.d
é realmente bastante útil, embora eu ache a idéia de ~/.emacs.d/init.el
questionável. O diretório ~/.emacs.d/
é um local padrão para arquivos adicionais por usuário. Não faria mais sentido quando o Emacs ler ~/.emacs.d/init.el
adicionalmente para ~/.emacs.el
?
Outra coisa para tentar se o que todo mundo disse não funcionar para você, é chown o arquivo .emacs e .emacs.d e o diretório.
Por alguma razão, meus .emacs e .emacs.d eram de propriedade de root e o emacs não carregava, a menos que eu fizesse sudo emacs
.
Um simples sudo chown 'whoami' .emacs
fez isso.
Eu também tive esse problema ao mudar para um contêiner.
Descobrimos que o ambiente não estava configurado corretamente, e a variável USER
e HOME
ainda apontava para o usuário raiz, mesmo que eu estivesse logado como usuário ativo.
Fazer su - <username>
corrigiu, porque agora o ambiente foi inicializado como esperado.
Tags emacs