Изменение папки по умолчанию в Emacs

Я довольно новичок в Emacs, и я пытался выяснить, как изменить папку по умолчанию для Cx Cf при запуске. Например, когда я впервые загружаю Emacs и нажимаю Cx Cf, его папка по умолчанию C:\emacs\emacs-21.3\bin, но я бы предпочел, чтобы это был рабочий стол. Я считаю, что есть какой-то способ настроить .emacs файл, чтобы сделать это, но я все еще не уверен, что это такое.

Обновление: есть три решения проблемы, которые я нашел работать, однако я считаю, что решение 3 только для Windows.

  • Решение 1: Добавить (cd "C:/Users/Name/Desktop") к .emacs файл

  • Решение 2: Добавить (setq default-directory "C:/Documents and Settings/USER_NAME/Desktop/") к .emacs файл

  • Решение 3: Щелкните правой кнопкой мыши по ярлыку Emacs, выберите "Свойства" и измените поле начала в желаемом каталоге.

14 ответов

Решение

Вы не сказали этого, но похоже, что вы запускаете Emacs с помощью ярлыка Windows.

Каталог, который вы видите с помощью cx cf, это cwd, в терминах Emacs, default-directory (Переменная).

Когда вы запускаете Emacs с помощью ярлыка MS Windows, default-directory изначально это папка (каталог), указанная в поле "Начать с" свойств ярлыка. Щелкните правой кнопкой мыши по ярлыку, выберите Propertiesи введите путь к рабочему столу в Start In поле.

Если вы используете Emacs из командной строки, default-directory начинается как каталог, где вы запустили Emacs (cwd).

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

CWD = текущий рабочий каталог = PWD = текущий рабочий каталог. Это имеет гораздо больше смысла в командной строке, чем в графическом интерфейсе.

Я думаю, что строка, которую вы должны добавить к вашему.emacs, это

(setq default-directory "C:/Documents and Settings/USER NAME/Desktop/" )

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

Вы можете ввести команду 'cd' emacs. ( Mx 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, и мне помогли ответы выше, чтобы получить ответ в минибуфере, который я хочу, на команду Cx Cf. Первоначально я получал "Найти файл: C:\Program Files\emacs\bin/", как Антон. У меня есть ДОМОЙ, установленной в "C:\Documents and settings\ ИМЯ ПОЛЬЗОВАТЕЛЯ \ Мои документы". Ответ на Cx Cf, который я хочу найти в минибуфере: "Найти файл: ~/". Добавив (setq default-directory "C:/Documents and Settings/ ИМЯ ПОЛЬЗОВАТЕЛЯ / Мои документы") в мой файл.emacs, я смог получить ответ "Найти файл: C:\Documents and settings\ ИМЯ ПОЛЬЗОВАТЕЛЯ \ Мои документы" / ", что функционально аналогично" Найти файл: ~ / ". Однако я заметил еще один момент. "Настройка Emacs" в "Опции" позволила мне запретить запуск экрана. Теперь, когда я открываю emacs, я немедленно отправляюсь в рабочий буфер. Когда я набираю Cx Cf в чистом буфере, я получаю точный ответ, который хочу.

load-path не та переменная, которую нужно установить. Это говорит emacs, где искать, когда вы загружаете библиотеки elisp.

Служит ли это вашей цели?

http://infolab.stanford.edu/~manku/emacs.html

Чтобы изменить каталог по умолчанию на DESKTOP в Dired и shell, поместите его в ~ /.emacs:

;; Это работает для Windows XP.
(setq default-directory (concat "C: \ Documents and Settings \ MY_ACCOUNT \ DESKTOP \"))

Для пользователей Windows лучший способ, который я нашел, - это создать ярлык для emacs.exe и размещение ярлыка в корневом каталоге папки моих заметок.

Таким образом, когда вы используете этот ярлык для открытия emacs, он по умолчанию открывается в корневом каталоге без необходимости специально устанавливать свойство ( вы можете оставить Start Inсвойство пусто ).

Кроме того, если вы организовали свои заметки в несколько корневых папок (личные, рабочие и т. Д.), Вы можете скопировать несколько таких ярлыков в каждую папку, чтобы открывать различные экземпляры emacs с их собственными каталогами по умолчанию.

Ссылка: Согласно Microsoft, если вы оставите поле «Начать с» пустым, скрипт будет запущен в текущем рабочем каталоге.

Я добавил к своему ярлыку (в Gnome, Linux) праматер, представляющий собой пустое фиктивное имя файла, и я указываю каталог. Так как мой emacs по умолчанию "home", я просто говорю:

/ Desktop / blank_file

и это открывает файл с именем "blank_file"

Это также перемещает текущий рабочий каталог для этого сеанса emacs на рабочий стол.

Если мне удастся поместить материал в "blank_file", то сохраните его, конечно, я сохранил этот материал. Что может быть раздражением или это может быть хорошо, в зависимости!

В Windows 8 он работает для создания ярлыка на рабочем столе и изменения свойства "Начать с:" для ярлыка.

Теперь я запустил программу emacs-23.3\bin\addpm.exe в соответствии с рекомендациями, и на экране Windows-8 (это ужасное изобретение от Microsoft) появилась иконка-ссылка на Emacs. Но там вы должны снова изменить свойство "Start In". (Отличается от того, что на рабочем столе). Просто щелкните правой кнопкой мыши, выберите в нижней панели "Открыть местоположение файла" (или аналогичное, я сделал это на своем языке), и вы попадете в папку с новым ярлыком, в котором вы также можете (должны) изменить свойство 'Start In:'.

Немного сложновато, но на самом деле очень просто.

Так как наиболее раздражает то, что Windows Emacs выводит вас в system32, когда вы просто используете ярлык, но хотите, чтобы все остальные случаи работали, просто используйте немного elisp...

(когда (строка<"C: \ WINDOWS \ system32" каталог по умолчанию) (setq каталог по умолчанию "~ /"))

Так что он будет по умолчанию только для вашего домашнего каталога, когда вы окажетесь в системе. Единственный недостаток - если вы действительно хотите запустить emacs в system32...

Другие вопросы по тегам