Я новый пользователь iMac. У меня большой опыт работы с Linux на ПК. Я загрузил последнюю версию emacs в папку Applications. Я хочу вызвать emacs из командной строки. Однако путь по умолчанию для emacs -/usr/bin/emacs. Какова наилучшая практика для добавления новых emacs в путь? У меня возникает соблазн создать каталог ~/bin и ссылку на новые emacs и добавить ~/bin в начало моего пути. Так мы делали что-то в нашей среде разработки программного обеспечения на Linux-ПК
Emacs на OS X 10.6
Ответ 1
Лучший способ - использовать Homebrew и использовать
brew install emacs --cocoa
так что вы можете легко обновить установку emacs. Cocoa будет следить за тем, чтобы ваш mac keybinding работал до emacs. Сделайте двоичный запуск при запуске в качестве демона (потому что он запускается не очень быстро), например:
/usr/local/Cellar/emacs/23.2/Emacs.app/Contents/MacOS/Emacs --daemon
И сделайте script команде emacsclient и сохраните ее в файле /bin/emacs (не забудьте сделать ее исполняемым):
#!/bin/bash
exec /Applications/Emacs.app/Contents/MacOS/bin/emacsclient -n -c "[email protected]"
поэтому, когда вы запускаете в bash "emacs something.txt", уже запущенный демон emacs открывает его мгновенно. Вы также можете расширить его, чтобы открыть Emacs, если демон не запущен!
Я тестировал его на последней версии emacs 23.2, некоторые функции отсутствуют на ранних версиях.
Ответ 2
Предполагая, что вы все еще находились в linux-land, не было бы каноническим местом, чтобы положить это в /usr/local/bin
(и добавить это к вашему пути?)... Я бы придерживался этого, если бы вы отправились туда маршрут, но это то, как у меня есть настройка emacs:
- Я загрузил последнюю версию /vanilla Emacs из emacsforosx.com
-
Я создал псевдоним
emacs
, который я использую для запуска версии emacs на основе терминала, когда я не хочу (или не могу) запускать версию графического интерфейса, например:alias emacs='/Applications/Emacs.app/Contents/MacOS/Emacs -nw'
-
Если вы хотите запустить GUI-версию Emacs с терминала, вы можете просто ввести следующее (что AFAIK является mac-ism, поэтому вы не знали бы, что это происходит из Linux)
$ open -a Emacs
Ответ 3
Там есть информация о emacs в OS X в emacs вики.
~/bin
или /usr/local/bin
будет работать нормально, так как будет работать с вашим PATH
.
Предполагая, что вы используете Emacs.app, проще всего использовать open -a /Applications/Emacs.app "[email protected]"
. open
- это эквивалент командной строки двойного щелчка на чем-то в Finder. Поместите это в оболочку script, вставьте ее в свой PATH и идите.
Установка emacs-app
через MacPorts - это, пожалуй, самый простой способ получить и поддерживать emacs Cocoa.
Возможно, вы захотите изучить Aquamacs, что является дополнительным уточнением emacs для OS X. страница emacs wiki на Aquamacs очень полезна. Он также имеет возможность добавить немного aquamacs script в вашу PATH, которая откроет файл в графическом интерфейсе aquamacs.
Ответ 4
Я создаю оболочку script с именем emacs в моем каталоге ~/bin, содержащем:
open -a Emacs "[email protected]"
Очевидно, что ~/bin должно быть до /usr/bin в моем PATH, которое я установил в ~/.profile, чтобы он сглаживал предустановленный двоичный код emacs.
Я также создаю символическую ссылку через ln -s /Applications/Emacs.app/Contents/MacOS/bin/emacsclient ~/bin/emacsclient
, чтобы это также искажало предустановленный двоичный файл emacsclient.
Для дополнительной попустительности я создаю псевдоним ec = 'emacsclient -a emacs -n' и включаю (запуск сервера) в сценарии инициализации emacs. Это позволяет мне открыть файл из командной строки, используя имя файла ec независимо от того, существует ли emacs или еще не запущен.
Еще один совет: когда вы запускаете emacs через приложения или открываете, emacs не наследует тот же путь, что и в вашей терминальной среде, поэтому одна вещь, которую я нашел очень полезной, - запустить следующее в моем .profile после установки мой путь для изменения унаследованных приложений PATH cocoa:
defaults write ${HOME}/.MacOSX/environment PATH "$PATH"
Ответ 5
Это сработает. Если это родное приложение mac, двоичный файл находится фактически в каталоге приложения (а не в записях двоичного файла):.../Emacs.app/Contents/MacOS/Emacs
Поскольку вы используете Linux, вас может заинтересовать MacPorts. Это большая коллекция пакетов, переносимых из Linux. Он позволяет устанавливать и обновлять пакеты из командной строки, управление учетными записями, все, что вы ожидаете. Он включает в себя собственную версию Emacs, которая может быть вызвана из командной строки.