2013-09-04 5 views
0

В настоящее время мой файл .emacs находится в/home Так же есть моя .emacs.d папка, и я предполагаю, что в этой папке будут созданы другие файлы, такие как дневник, заметки и т. Д.Изменить каталог .emacs в Ubuntu

Я нахожу это очень грязно, и я хочу, чтобы все мои EMACS связанные файлы (в том числе .emacs) и папок в одной папке, скажем/дома/EmacsHome

Как я могу это сделать в Ubuntu 12.04? В windows я сделал это, установив переменную окружения HOME на путь EmacsHome. Но в Ubuntu переменная HOME также будет использоваться для нескольких других программ, поэтому я не хочу ее изменять.

+0

Является символическая ссылка вариант? –

+0

Конечно, давайте попробуем .. Не могли бы вы рассказать мне, как это сделать? – Kishore

ответ

0

Это работает для OSX, поэтому, возможно, для вас тоже. , , просто измените пути на все, что вам подходит. user-emacs-directory - где вы указываете эквивалент .emacs.d. У меня есть все, что связано с Emacs в моем user-emacs-directory. Если вы используете менеджер пакетов, каталог elpa также будет автоматически упакован.

(setq default-directory "~/.0.data/") 

(setq user-emacs-directory "~/.0.data/.0.emacs/") 

(setq diary-file "~/emacs/diary") 
+0

но, где я могу поставить эти строки? Я знаю ... Я полностью потерялся здесь. – Kishore

+0

Создайте файл в своем домашнем каталоге под названием '.emacs' и поместите туда эти строки кода - установив путь, который вы выберете. – lawlist

+0

Нет, не работает. Домашний каталог по-прежнему обрабатывается как/home. – Kishore

0

Вы можете создать символическую ссылку на них, как и

ln -s /home/EmacsHome ~/.emacs.d 

Первый аргумент является папка, в которой вы хотите папки быть, второй, где Emacs обычно ищет его конфигурации файлы, поэтому при таком подходе вы можете поместить папку туда, где хотите.

+0

Фактически emacs автоматически создает файл .emacs в/home. Но, я хотел бы .emacs быть в/home/EmacsHome. Таким образом, эта команда дает ошибку «Файл существует». Нам нужно попытаться изменить способ запуска emacs, чтобы он мог искать .emacs в другом месте, чем его местоположение по умолчанию. – Kishore

+0

Вы можете установить путь к пользовательскому файлу init.el, добавив или создав исходные файлы Emacs '.../lisp/site-start.el', а затем в' site-start.el', используя например, '(load-file" ~/.0.data/.0.emacs/init.el ")'. Все, что обычно находится внутри вашего файла .emacs, может быть перенесено в ваш пользовательский файл init.el, а затем файл '.emacs' больше не понадобится. – lawlist

2

Emacs уже поддерживает каталог конфигурации для хранения всех связанных с Emacs: ~/.emacs.d. Просто используйте это.

Переименуйте ~/.emacs в ~/.emacs.d/init.el, и вы практически закончили.

Если у вас есть конкретные Emacs-файлы любых других за пределами этого каталога, вам может понадобиться установить переменную здесь или там, чтобы переместить их, или просто переименовать файл - в эти дни дефолты как правило, автоматически в ~/.emacs.d, но старшее имя файла в домашнем каталоге может по-прежнему иметь приоритет.

например: файл закладок был ~/.emacs.bmk, но если вы не настроили эту переменную, вы можете просто переименовать ее в ~/.emacs.d/bookmarks. См. C-h f locate-user-emacs-file RET и M-x find-variable RET bookmark-default-file RET.

Если вы не знаете, как продолжить работу с любыми данными (файлами), вы можете просто обновить вопрос до деталей.

И как сказал Альберто Заккагни, просто создайте символическую ссылку, если вы хотите, чтобы альтернативное имя получило доступ к каталогу. Хотя лично я хотел бы предложить сохранить ~/.emacs.d как реальный каталог, и сделать альтернативное название ссылку, например, так:

ln -s ~/.emacs.d /home/EmacsHome 
Смежные вопросы