Зміна папки за замовчуванням у Emacs


107

Я досить новачок у Emacs, і я намагався розібратися, як змінити папку за замовчуванням для C-x C-fзапуску. Наприклад, коли я вперше завантажую Emacs і натискаю C-x C-fйого папку за замовчуванням 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, натисніть властивості та змініть початок у полі на потрібний каталог.

Відповіді:


84

Ви цього не сказали, але це здається, що ви запускаєте 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 для Windows.
Антон

5
Це працює і на MacOS. Я додав це до своїх .emacs: (setq default-directory (concat (getenv "HOME") "/"))
vy32

І якщо ви хочете, щоб Emacs запускався в Dired цього каталогу, тоді, крім того, щоб помістити його в Start Inполе, додайте його в кінці Targetполя, після одного або декількох пробілів, уклавши його між подвійними лапками ( "). Наприклад: "d:\path\to\the\folder".
Дрю

49

Я думаю, що рядок, який потрібно додати до своїх .emacs, є такий

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

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



24

Я поставив

(cd "c:/cvsroot/")

в моєму .emacs, і це зробило роботу


6

Папка за замовчуванням насправді така ж, як і поточна робоча папка для буфера, тобто вона може бути різною для кожного файлу, з яким ви працюєте. Скажіть, що файл, з яким ви працюєте, розташований 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.


4

Коли ви працюєте в Windows, ви можете зробити це за допомогою ярлика.

Створіть ярлик до C:\emacs\emacs-21.3\bin\runemacs.exe. Відредагуйте властивості ярлика та змініть значення, Start In:щоб воно було таким, яким ви хочете бути в каталозі за замовчуванням.


4

Я використовую emacs 22.2.1 під Windows XP, і відповіді вище мені допомогли отримати відповідь у мінібуфері, який я хочу на команду Cx Cf. Спочатку я отримував "Знайти файл: C: \ Program Files \ emacs \ bin /", як Антон. У мене HOME встановлено на "C: \ Документи та параметри \ ІМ'Я КОРИСТУВАЧА \ Мої документи". Відповідь на Cx Cf, яку я хочу в мінібуфері, - це "Знайти файл: ~ /". Додавши (довідник setq за замовчуванням "C: / Документи та налаштування / ІМ'Я користувача" / "Мої документи") у мій файл .emacs, я зміг отримати відповідь "Знайти файл: C: \ Документи та налаштування \ ІМЕНТ ПОЛЬЗОВИК \ Мої документи / ", який функціонально такий самий, як" Знайти файл: ~ / ". Однак я помітив ще один момент. "Налаштувати Emacs" у розділі "Параметри" дозволило мені призупинити екран запуску. Тепер, коли я відкриваю emacs, я негайно переходжу до буфера подряпин. Коли я набираю Cx Cf у буфері подряпин, я отримую точну відповідь, яку хочу.


+1 для згадування пригнічення екрану запуску. Я виявив, що це є ключовим у моїй системі Windows 10. Я відправив свою відповідь на відповідне питання stackoverflow.com/a/38435697/823636
Rob_before_edits

1

Я додав до свого ярлика (в Gnome, Linux) праматер, який є порожнім ім'ям файлу, і я вказую каталог. Оскільки мій emacs за замовчуванням "домашній", я просто кажу:

/ Настільний / blank_file

і це відкриває файл під назвою "blank_file"

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

Якщо мені трапиться помістити речі в "blank_file", то збережіть його, звичайно, я зберег цей матеріал. Що може бути роздратуванням, або це може бути хорошою справою, залежно!


1

Щоб змінити каталог за замовчуванням на DESKTOP у Dired та оболонці, покладіть це у свою ~ / .emacs:

;; Це працює для Windows XP.
(setq-каталог за замовчуванням (concat "C: \ Документи та параметри \ MY_ACCOUNT \ DESKTOP \"))


0

У Windows 8 працює над створенням ярлика на робочому столі та зміною властивості "Почати в:" для ярлика.

Тепер я запустив програму emacs-23.3 \ bin \ addpm.exe, як було рекомендовано, і на екрані Windows-8 (той жахливий винахід від Microsoft) з'явилася іконка-посилання на Emacs. Але там вам доведеться знову змінити властивість 'Start In'. (Це відрізняється від робочого столу). Клацніть правою кнопкою миші, виберіть на нижній панелі "Відкрити розташування файлу" (або подібне, я це зробив моєю мовою), і ви перейдете до папки з новим ярликом, в якому ви можете (обов'язково) також змінити властивість 'Start In:'.

Трохи задіяні, але насправді дуже легко.


0

Оскільки найприємнішим є те, що Windows Emacs скидає вас у system32, коли ви просто використовуєте ярлик, але хочете, щоб кожен інший випадок спрацював, просто використовуйте трохи elisp ...

(коли (рядок <"C: \ WINDOWS \ system32" за замовчуванням-каталог) (setq default-каталог "~ /"))

Таким чином, він буде за замовчуванням для вашого домашнього каталогу, коли ви опинитесь в системі. Єдиний недолік, якщо ви дійсно хочете запустити emacs в system32 ...

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.