Как запустить emacs GUI на OS X

6063
trentonknight

Кто-нибудь знает какие-нибудь хитрости для запуска emacsс GUI на OS X стандартной командой emacs?

Я десятилетний пользователь Linux и думал, что куплю Mac на какое-то время, чтобы остаться разносторонним. Теперь я могу открывать файлы через emacs open file.txt, но это не позволит мне использовать режим отладки.

3
Вы пробовали `open -a ProgramName --args program_arguments` или` / Applications / ProgramName / Contents / MacOS / двоичное имя_программы_arguments`? Daniel Beck 13 лет назад 1
Да, я пробовал это первоначально, но я хочу простоту запуска с просто старыми, 'emacs'. Спасибо, в любом случае. trentonknight 13 лет назад 0
Помимо уже упомянутого «псевдонима», я бы рекомендовал использовать [Aquamacs] (http://aquamacs.org/) вместо стандартных emacs, потому что он уже оптимизирован для среды OS X. eFrane 13 лет назад 0

5 ответов на вопрос

2
Yitzchak

Вы можете создать псевдоним, такой как:
alias emacs = "open -a ProgramName"

Да, поместите это в мой bash_profile: `emacs = 'open -a /Applications/Emacs.app" $ @ "'` trentonknight 13 лет назад 0
2
David Casperson

Если в вашей сфере знаний есть следующие возможности, возможно, стоит сделать следующее:

  1. /Users/FredНапример, создайте каталог, в /Users/Fred/binкотором вы храните свои собственные исполняемые программы.

  2. Убедитесь, что MacOS знает о вашем исполняемом каталоге при входе в систему, отредактировав настройки в ~ / .MacOS / environment.plist.

  3. Создайте файл с именем ~ / bin / emacs. В нем положить линии

    #!/bin/sh exec /Applications/Emacs.app/Contents/MacOS/Emacs $*  
  4. Убедитесь, что файл имеет разрешение на выполнение: chmod a+x ~/bin/emacs

  5. В зависимости от вашего успеха с 2 (и независимо от того, вышли вы или нет) вы сможете запускать emacs либо просто с помощью emacs, либо [в худшем случае] с помощью ~ / bin / emacs

  6. Преимущество этого подхода перед использованием openзаключается в том, что теперь вы можете использовать такие командные строки, как sudo emacs --user Fred /etc/something-owned-by-root. --user FredБыть полезным, если вы сильно настроены Emacs.

Имеет ли смысл добавить проверку того, работает ли emacs-сервер (согласно @DougHarris), и если да, то использовать его для посещения файла. И в противном случае, начать новый сеанс Emacs? Dror 11 лет назад 1
Как мне предотвратить запуск второго экземпляра Emacs с графическим интерфейсом, если он уже открыт? incandescentman 9 лет назад 0
1
JRobert

Вы используете Bash? С этим определением функции bash в вашем .bashrc (или любом другом файле, из которого вы исходите из псевдонимов bash), 'emacs <stuff more stuff>' будет делать то, что вы ожидаете, включая оставление вашего терминала обратно в приглашении сразу после запуска emacs.

emacs() { /Applications/Emacs.app/Contents/MacOS/Emacs "$@" & } 
Отлично! Я попробую это! Благодарю вас. trentonknight 13 лет назад 0
Я сделал несколько изменений, но ваш ответ был на месте. Вот что у меня есть в моем .bash_profile на Lion: псевдоним `emacs = 'open -a /Applications/Emacs.app" $ @ "'` trentonknight 13 лет назад 0
0
Dror

Ты пробовал Aquamacs? У него есть комплект командной строки, а затем вы можете использовать его из командной строки.

Я попробовал его, и он хорош, но его почти нет. Это немного забавно - быть несчастным и вручную добавлять все мои файлы. Также он полностью отклонил мой файл .emacs. Я уверен, что есть обходной путь, но зачем беспокоиться, когда я все равно хочу иметь более чистую версию emacs. Благодарю. trentonknight 13 лет назад 0
0
Doug Harris
  1. Запускайте Emacs после каждой перезагрузки. Никогда не выйти. (Перезагрузите компьютер только тогда, когда обновление ОС вызывает перезагрузку).
  2. Убедитесь, что вы запускаете сервер Emacs при запуске Emacs, добавив (server-start)свой .emacsфайл.
  3. Используйте утилиту командной строки emacsclient -nдля открытия файлов в Emacs.

Необязательный шаг 4 - создайте псевдоним, чтобы сделать его короче:

alias em='emacsclient -n'