Я использовал emacs в командной строке и использовал следующую команду, чтобы открыть текущий каталог git в режиме magit:
emacs -nw -f magit-status --eval "(call-interactively #'delete-other-windows)"
Я переключился на использование приложения emacs вместо того, чтобы открывать его в командной строке. Я использую следующий псевдоним команды:
alias emacs='open -a /Applications/Emacs.app $1'
Из-за этого команда magit больше не работает. Есть ли способ добиться той же функциональности с приложением Emacs?
Кроме того, попробовал эту функцию, как было предложено в комментариях:
function magit() {
open -a /Applications/Emacs.app --args -f magit-status $1
}
С уважением,
Паван.
—args
дляopen
для передачи аргументов приложению. - person nega   schedule 09.05.2019sh
/bash
(по крайней мере)$1
передает только первый аргумент (и при этом без кавычек). Это никогда не то, что вы хотите от функции-оболочки. Если это то, что здесь происходит, вам действительно нужен"$@"
, который передает все аргументы, каждый из которых цитируется соответствующим образом. - person phils   schedule 08.06.2021$1
делает в вашем определении оболочкиalias
. Когда вы используете псевдоним, все, что следует за псевдонимом в команде, добавляется к расширению псевдонима. Вы, вероятно, добавляете туда пустую строку без кавычек, что будет безвредно; но это все еще ошибка, судя по всему. - person phils   schedule 08.06.2021