Нещодавно я придбав свій перший Mac за десятиліття і зараз перебуваю у налаштуваннях. Я користувач Emacs і визначив, що хочу просто звичайний Emacs, а не Aquamacs, щоб я міг використовувати свою існуючу конфігурацію з інших операційних систем. Я намагався дотримуватися багатьох практичних завдань, які я знайшов в Інтернеті (на кшталт цього , цього та цього з сайту, з якого я завантажив Emacs ), і спробував комбінувати фрагменти будь-якою кількістю способів, але ніколи увійшов у стан навіть підходити до того, до чого я звик / сподівався:
- Демон Emacs починає працювати або при запуску, або як тільки мені це потрібно ; або добре. Будь-які нові кадри Emacs підтримуються тим же сервером.
- Коли я відкриваю текстовий файл із Finder, файл відкривається в Emacs, якщо це можливо, у існуючому графічному кадрі.
- Якщо я запускаю Emacs.app, система повторно використовує демон emacs, який працює у фоновому режимі, замість того, щоб запустити новий екземпляр і відкрити нове вікно на ньому. ( капелюшний наконечник )
- Коли я запускаю Emacs з терміналу, термінал починає свою справу, не чекаючи, коли я закінчу з Emacs (якщо я не використовую '-nw')
- AFAIK ні в якому разі під час описаних вище операцій не повинен Emacs переходити в стан ("режим редагування сервера?"), Де він чекає, коли я наберу
C-x #, хоча я не маю глибокого розуміння цього. - (Я б вважав це бонусом) Є певний спосіб для мене викликати Emacs з терміналу, щоб Emacs повторно використовував існуючий кадр, якщо це можливо.
Як я могла налаштувати Emacs на такий спосіб поведінки?
Я особливо здивований тим, що Finder відкриває речі в Emacs так, як мені хочеться (№2), оскільки знайдені нами посібники загалом створюють ряд псевдонімів, Applescripts, bash-скриптів тощо, і я не впевнений який я хочу сказати Finder, щоб використовувати для відкриття текстових файлів.
Дякую!
А. @lawlist запитує: "Чи відкривається новий кадр за замовчуванням, коли ви відкриваєте новий файл з терміналу, навіть якщо є існуючий кадр?" Відповідь полягає в тому, що якщо я запускаю сервер при запуску, як описано тут , відкриваю кадр, а потім відкриваю файл, ввівши /Applications/Emacs.app/Contents/MacOS/bin/emacsclient -n <whatever>, я можу змусити файл відкритись у існуючому кадрі. Якщо в даний момент немає відкритого кадру, я повинен використовувати "-nc" або коли я намагаюся відкрити файл, нічого не відбувається.
B. @lawlist запитує: "Ви хочете, щоб демон ввійшов у систему, чи достатньо було б завантажити Emacs вручну після входу?" Запуск вручну було б добре.
M-x server-startвручну запустить сервер, щоб він emacsclientміг спілкуватися з ним. Я розмістив (server-start)у своєму init.elфайлі замість того, щоб використовувати демона при вході в систему - проте, багато хто вважає за краще варіант входу в демон. І звичайно, .emacsфайл був би підходящим місцем для (server-start).
ns-find-file- що активується автоматично, коли файл асоціюється з Emacs.app. Моя функція перехоплення файлів у посиланнях вище також змінюється, ns-find-fileякщо це щось, що вас цікавить. Звичайно, вам потрібен Emacs --with-ns.
