2

Итак, я в первый день на своей новой работе, и на используемом нами сервере emacs по умолчанию основан на X-windows. Я предпочитаю использовать его в старом добром терминале и хотел бы, чтобы команда emacs foo.txt читалась как emacs --no-window-system foo.txt .

Я попытался сделать это, добавив function emacs() { emacs --no-window-system "$@" ;} в мой ~/.profile , а затем запустил source ~/.profile , но система не отвечает emacs foo.txt .

Я делаю это неправильно? В качестве альтернативы я хотел бы знать, является ли то, что я хочу сделать, полностью назад, и оказывается, что есть гораздо более простое решение.

2 ответа2

1

Это было бы лучше как псевдоним.

Поместите это в свой .profile или .bashrc

alias emacs='emacs -nw'
0

Я считаю, что проблема с вашим исходным решением состоит в том, что вызов emacs внутри вашей функции emacs является рекурсивным вызовом функции emacs . Вы можете позвонить в программу emacs вместо вашей функции emacs с помощью встроенной command Баша.

function emacs() { command emacs --no-window-system "$@" ;}

У меня есть своего рода противоположное желание: я хочу автоматически создавать фоновые emacs, когда я работаю под оконной системой. В моем .bashrc есть следующее:

if [ -n "$DISPLAY" ]; then
    function emacs() { (command emacs "$@" &) }
fi

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .