pseudo-variable eval
позволяет указать произвольный elisp для оценки с вашими локальными переменными.
например. https://stackoverflow.com/a/7340962/324105
См. EmacsWiki для получения более подробной информации.
Обратите внимание, что это не является особенно полезным механизмом для установки привязок клавиш, так как каждый буфер с использованием рассматриваемой ключевой карты будет затронут. Вероятно, вам лучше будет использовать конфигурацию dir-local, чтобы включить вспомогательный режим с конкретной раскладкой для этого проекта. В качестве альтернативы вы можете адаптировать this approach to file-local bindings (но второстепенный режим будет приятнее).
Это, как говорится ...
Довольно минимальная форма ((nil . ((eval . (progn BODY)))))
с BODY
быть выражения для оценки. Конечно, если BODY
- это всего лишь одно выражение, вам не нужно progn
.
Следующая поэтому отображает сообщение, когда вы посещаете какой-либо файл (в каталоге в вопросе):
((nil . ((eval . (message "hello")))))
Автомобиль каждого списка в Dir-местные жители образуют, как правило, главный символ режима, или nil
(как в приведенном выше примере), и в этом случае настройки применяются в любых основных режимах.
Автомобиль также может указать строку подкаталога, и в этом случае cdr является другой формой dir-locals с настройками, применимыми к этому поддиректору.
Ваш вопрос слишком общий. Какой язык, количество проектов и количество разных поведений для каждого проекта? Приведите несколько примеров. –
@ abo-abo ... извините, но вы просто не понимаете вопроса, в этом нет ничего общего. – ocodo