Изменение папки по умолчанию в Emacs
-
09-06-2019 - |
Вопрос
Я новичок в Emacs и пытаюсь понять, как изменить папку по умолчанию для C-x C-f на старте.Например, когда я впервые загружаю Emacs и нажимаю C-x C-f его папка по умолчанию C:\emacs\emacs-21.3\bin
, но я бы предпочел, чтобы это был рабочий стол.Я считаю, что есть какой-то способ настроить .emacs
file, чтобы сделать это, но я до сих пор не уверен, что это такое.
Обновлять:Есть три решения проблемы, которые, как мне показалось, работают, однако я считаю, что решение 3 предназначено только для Windows.
Решение 1:Добавлять
(cd "C:/Users/Name/Desktop")
к.emacs
файлРешение 2:Добавлять
(setq default-directory "C:/Documents and Settings/USER_NAME/Desktop/")
к.emacs
файлРешение 3:Щелкните правой кнопкой мыши ярлык Emacs, выберите «Свойства» и измените начало поля на нужный каталог.
Решение
Вы этого не сказали, но похоже, что вы запускаете Emacs с ярлыка Windows.
Каталог, который вы видите с помощью c-x c-f, — это cwd, в терминах Emacs, default-directory
(Переменная).
Когда вы запускаете Emacs с помощью ярлыка MS Windows, default-directory
изначально является папкой (каталогом), указанной в поле «Начать с» свойств ярлыка.Щелкните правой кнопкой мыши ярлык, выберите Properties
, и введите путь к рабочему столу в поле Start In
поле.
Если вы используете Emacs из командной строки, default-directory
начинается с каталога, в котором вы запустили Emacs (cwd).
Этот подход лучше, чем редактирование вашего файла .emacs, поскольку он позволит вам иметь более одного ярлыка с более чем одним начальным каталогом, а также позволит вам вести себя нормально в командной строке Emacs, если вам это нужно.
УВП = текущий рабочий каталог = ЛЮДИ = текущий рабочий каталог.Это имеет гораздо больше смысла в командной строке, чем в графическом интерфейсе.
Другие советы
Я думаю, что вам нужно добавить строку в ваш .emacs:
(setq default-directory "C:/Documents and Settings/USER NAME/Desktop/" )
Emacs запустится на вашем рабочем столе таким образом, если у вас не открыт файл.В противном случае он обычно начинается в том же каталоге, что и файл в текущем буфере.
Вы можете ввести команду emacs «cd».( M-x cd ), чтобы изменить папку по умолчанию как единственную.
я положил
(cd "c:/cvsroot/")
в моем .emacs и он сделал свою работу
Папка по умолчанию фактически совпадает с текущей рабочей папкой для буфера, т.е.он может быть разным для каждого файла, с которым вы работаете.Скажем, файл, с которым вы работаете, находится в C:\dir_a
, то рабочий каталог для этого буфера по умолчанию будет C:\dir_a
.Вы можете изменить это с помощью M-x cd
и введите любой каталог, который вы хотите использовать по умолчанию (и под умолчанию я имею в виду тот, который будет отображаться, когда вы это сделаете). C-x C-f
).
Если вы запустите emacs, не открывая файл, вы получите *scratch*
буфер открыт.Если вы запустили emacs из ярлыка Windows, рабочий каталог будет таким же, как указанный в свойствах ярлыка.Если вы запустили его из командной строки, это будет каталог, из которого вы его запустили.Вы все равно можете изменить этот каталог по умолчанию с помощью M-x cd
, также из *scratch*
буфер.
Наконец-то можно сделать как предлагает Вадим и поставить
(cd "c:/dir_a/")
в вашей .emacs
файл, чтобы сделать этот каталог каталогом по умолчанию независимо от того, как вы запускаете emacs.
Поскольку вы используете Windows, вы можете сделать это с помощью ярлыка.
Создайте ярлык для C:\emacs\emacs-21.3\bin\runemacs.exe
.Отредактируйте свойства ярлыка и измените значение Start In:
быть тем, чем вы хотите, чтобы ваш каталог по умолчанию был.
Я использую emacs 22.2.1 под Windows XP, и приведенные выше ответы помогли мне получить ответ в минибуфере, который я хочу, на команду C-x C-f.Первоначально я получал «Найти файл:C:\Program Files\emacs\bin/», как у Антона.У меня для HOME установлено значение «C:\Documents and settings\ИМЯ ПОЛЬЗОВАТЕЛЯ\Мои документы».Ответ на C-x C-f, который я хочу в минибуфере: «Найти файл:~/".Добавив (каталог по умолчанию setq «C:/Documents and Settings/USER NAME/My Documents») в мой файл .emacs, я смог получить ответ «Найти файл:C:\Documents and settings\ИМЯ ПОЛЬЗОВАТЕЛЯ\Мои документы/», что функционально аналогично «Найти файл:~/".Однако я заметил еще один момент.«Настройка Emacs» в разделе «Параметры» позволила мне запретить экран запуска.Теперь, когда я открываю emacs, я сразу перехожу к рабочему буферу.Когда я набираю C-x C-f в рабочем буфере, я получаю именно тот ответ, который мне нужен.
Я добавил к своему ярлыку (в Gnome, Linux) праматер, который представляет собой пустое фиктивное имя файла, и указал каталог.Поскольку мой emacs по умолчанию имеет значение «домашний», я просто говорю:
/Рабочий стол/пустой_файл
и это открывает файл с именем «blank_file»
Это также переместит текущий рабочий каталог для этого сеанса emacs на рабочий стол.
Если мне случится поместить что-то в «blank_file», то, конечно, сохраните его, у меня все это сохранено.Что может раздражать, а может быть и хорошо, в зависимости от того!
Чтобы изменить каталог по умолчанию на DESKTOP в Dired и оболочке, поместите это в свой ~/.emacs:
;;Это работает для Windows XP.
(каталог по умолчанию setq (сочетание "C:\Documents and Settings\MY_ACCOUNT\DESKTOP\"))
В Windows 8 можно создать ярлык на рабочем столе и изменить свойство «Начать с:» для ярлыка.
Теперь я запустил программу emacs-23.3\bin\addpm.exe, как рекомендовано, и на экране Windows-8 (этого ужасного изобретения от Microsoft) появилась иконка-ссылка на Emacs.Но здесь вам придется снова изменить свойство «Начать с».(Он отличается от того, что на рабочем столе).Просто щелкните правой кнопкой мыши, выберите в нижней панели «Открыть местоположение файла» (или подобное, я делал на своем языке), и вы попадете в папку с новым ярлыком, в котором также можно (нужно) изменить свойство «Начать с:».
Немного сложно, но на самом деле очень легко.
Поскольку больше всего раздражает то, что Windows Emacs сбрасывает вас в system32, когда вы просто используете ярлык, но хотите, чтобы все остальные случаи работали, просто используйте немного elisp...
(когда (строка < каталог по умолчанию «C:\WINDOWS\system32») (setq каталог по умолчанию «~/»))
Таким образом, по умолчанию будет использоваться ваш домашний каталог только тогда, когда вы окажетесь в системе.Единственный недостаток заключается в том, что если вы действительно хотите запустить emacs в system32...