Вы не можете использовать интерфейс настройки для обновления файлов .dir-locals.el
. Настроить для вашей собственной конфигурации. Если вы хотите отредактировать/обновить файл локальных переменных каталога, вам необходимо либо отредактировать этот файл напрямую, либо использовать M-xadd-dir-local-variable
.
Последняя команда предложит вам подробную информацию. Обратите внимание, что значение по умолчанию не предлагается в командной строке для значения переменной, но вы можете ввести М-н или < вниз> для получения значения переменной в текущем буфере.
Следует также отметить, что команда делает не спросить, какой каталог переменные являются локальными - это создать/обновить .dir-locals.el
файл в каталоге по умолчанию для текущего буфера. Разумеется, выдача команды из буфера для нужного каталога является безопасным подходом, но вы можете сделать это из буфера в режиме, для которого вы хотите добавить переменные, - таким образом, предложение по умолчанию для режима и текущие значения переменных, о которых идет речь, будут более полезными для вас.
(если нет файла соответствующего типа в каталоге, вы всегда можете CxCf новый/несохраненные буфер соответствующего файла, используйте add-dir-local-variable
столько раз, сколько необходимо, и тогда, когда вы» вы сделали только убить любые новые буферы, которые вы создали, не сохраняя их.)
Что все сказано, я все еще не уверен на 100%, что ваше требование, так как ваш вопрос немного запутан; но вам также может понравиться, что вы можете использовать локальные переменные каталога без файла .dir-locals.el
, так как вы можете в качестве альтернативы полностью их настроить в своем файле инициализации.
См. https://www.emacswiki.org/emacs/DirectoryVariables для получения более подробной информации и примеров этого.
Извините, если я вас смутил. Говоря снова, мой вопрос заключается в том, как сохранить постоянную переменную dir-local в отдельном файле. Всякий раз, когда вы посещаете файл, Emacs спрашивает, хочу ли я подать заявку или нет, и применять его на постоянной основе. Если вы выбираете последний (постоянно применяете), нажимая!, То эти переменные добавляются в конце файла инициализации. На этом этапе я хотел бы сохранить их в другом своем конкретном файле, а не в файле init. Есть ли способ сделать это? – windrg00
А, я думаю, я понимаю, о чем вы сейчас спрашиваете. Emacs просто сохраняет тот факт, что вы одобрили определенные значения как * приемлемые * как для некоторых локальных переменных. Эти данные не определяют значения для набора; Emacs просто проверяет эти данные, чтобы выяснить, нужно ли запрашивать ваше разрешение при настройке локальных переменных, которые могут быть небезопасны для установки без вашего разрешения. – phils
Вы не можете сказать Emacs автоматически хранить эти данные в любом месте, кроме вашего 'custom-file', но если вы действительно хотите, вам нечего мешать вручную переместить эти данные в отдельный файл elisp -' (setq safe-local-variable-values ...) '- который вы« загрузите »в свой файл инициализации, а затем с помощью интерфейса настройки удалите данные из' custom-file'. Вы должны были бы повторить это обслуживание каждый раз, когда вы добавили новую безопасную ценность, однако, поэтому ИМО это было бы очень неприятно делать. – phils