Изменение папки по умолчанию в Emacs
Я новичок в Emacs и я пытаюсь выяснить, как изменить папку по умолчанию для C-x C-f при запуске. Например, когда я впервые загружаю Emacs и нажимаю C-x C-f его папку по умолчанию:C:emacsemacs-21.3bin, но я бы предпочел, чтобы это был рабочий стол. Я считаю, что есть какой-то способ настроить .emacs файл для этого, но я все еще не уверен, что это такое.
обновление: есть три решения проблемы, которые я нашел для работы, однако я поверьте, что решение 3-это только Windows.
Решение 1: Добавить
(cd "C:/Users/Name/Desktop")до.emacsfileРешение 2: Добавить
(setq default-directory "C:/Documents and Settings/USER_NAME/Desktop/")до.emacsfileрешение 3: щелкните правой кнопкой мыши Emacs short cut, нажмите Свойства и измените поле start in на нужный каталог.
13 ответов:
вы этого не сказали, но похоже, что вы запускаете 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, если вам это нужно.
CWD= текущий рабочий каталог= PWD = текущего рабочего каталога. Это имеет гораздо больше смысла в командной строке, чем в графическом интерфейсе.
Я думаю, что строку нужно добавить к вашей .emacs-это
(setq default-directory "C:/Documents and Settings/USER NAME/Desktop/" )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/")в вашей
.emacsfile, чтобы сделать этот каталог по умолчанию независимо от того, как вы запускаете emacs.
Как вы на Windows, вы можете сделать это с помощью ярлыка.
создать ярлык
C:\emacs\emacs-21.3\bin\runemacs.exe. Измените свойства ярлыка и измените значениеStart In:быть все, что вы хотите, чтобы ваш каталог по умолчанию.
Я использую emacs 22.2.1 под Windows XP и получил ответы выше, чтобы получить ответ в минибуфере, который я хочу, чтобы команда C-x C - f. Первоначально я получал "Найти файл: C:\Program файлы\emacs\bin /" как Антон. У меня есть домашний набор для "C:\Documents и настройки\имя пользователя\Мои Документы". Ответ на C-x C-f, который я хочу в минибуфере, - это "найти файл: ~/". Путем добавления (setq default-каталог "C:/Documents и настройки / имя пользователя / Мои Документы") к моему .файл emacs, который я смог получить ответ " найти файл: C:\Documents и настройки\имя пользователя\Мои Документы/", который функционально совпадает с "найти файл:~/". Однако, я заметил еще один момент. "Настройка Emacs "в разделе" Параметры " позволила мне заблокировать экран запуска. Теперь, когда я открываю emacs, я сразу же иду в буфер царапин. Когда я набираю C-x C-f в буфере царапин, я получаю точный ответ, который хочу.
load-pathЭто не та переменная, которую нужно установить. Это говорит emacs, где искать, когда вы загружаете библиотеки elisp.
Я добавил в свой ярлык (в Gnome, Linux) праматер, который является пустым именем фиктивного файла, и я указываю каталог. Поскольку мой emacs по умолчанию имеет значение "home", я просто говорю:
/ Desktop / blank_file
и это открывает файл с именем "blank_file"
Это также перемещает текущий рабочий каталог для этого сеанса emacs на рабочий стол.
Если я случайно положил материал в "blank_file", то сохраните его, конечно, у меня есть этот материал сохранен. Который может быть раздражение или это может быть хорошо, в зависимости!
чтобы изменить каталог по умолчанию на рабочий стол в Dired и shell поместите это в свой~/.emacs:
;;Это работает для Windows XP.
(setq default-directory (concat "C:\Documents и настройки\MY_ACCOUNT\DESKTOP\"))
в Windows 8 он работает для создания ярлыка на рабочем столе и изменения свойства "Start In:" для ярлыка.
теперь я запустил программу emacs-23.3\bin\addpm.exe как рекомендовано, а на экране Windows-8 (это ужасное изобретение от Microsoft) появилась иконка-ссылка на Emacs. Но там вы должны снова изменить свойство "начать". (Он отличается от того, что на рабочем столе). Просто щелкните правой кнопкой мыши, выберите в нижней панели "Открыть расположение файла" (или аналогично, I сделал это на моем языке), и вы попадаете в папку с новым ярлыком, в котором вы можете (должны) также изменить свойство 'Start In:'.
немного участвует, но на самом деле очень легко.
поскольку самое раздражающее, что windows Emacs сбрасывает вас в system32, когда вы просто используете ярлык, но хотите, чтобы каждый другой случай работал, просто используйте немного elisp...
(когда (строка
Так что это будет только по умолчанию для вашего домашнего каталога, когда вы в конечном итоге в системе. Единственный недостаток - если вы действительно хотите запустить emacs в system32...
Comments