Синтаксис имитирует тот, который используется функцией printf в C и вдохновленных ею языках: %d
предназначен для замены целым числом в десятичной записи, а %s
предназначен для замены строкой.Тем не менее, я не знаю ни одной программы, которая будет выполнять такую замену на значение $EDITOR
.Это может быть квалифицировано как ошибка в руководстве по Emacs.
Существуют программы, которые интерпретируют $EDITOR
как путь к исполняемому файлу (некоторые даже не ищут в $PATH
), а другиеэто интерпретирует его как фрагмент оболочки, который запускает редактор (позволяя передавать дополнительные аргументы исполняемому файлу, как вы это сделали).Поэтому безопаснее всего установить EDITOR
на полный путь к исполняемому файлу, не содержащий специальных символов.Используйте сценарий ретрансляции, если вы хотите передать опции, например, EDITOR=~/bin/EDITOR
, где содержимое ~/bin/EDITOR
что-то вроде
#!/bin/sh
exec emacsclient --alternate-editor emacs