Локальные профили соединения
Emacs использует локальные профили соединения для хранения настроек переменных, применяемых к определённым соединениям. Затем их можно связать с удалёнными соединениями, задав критерии, при которых они должны применяться, с помощью connection-local-set-profiles.
- Функция: connection-local-set-profile-variables profile variables
-
Эта функция задаёт набор настроек переменных для профиля соединения profile, который является символом. Позже можно назначить этот профиль соединения одному или нескольким удалённым соединениям, и Emacs применит эти настройки переменных ко всем буферам процессов для этих соединений. Список в variables — это ассоциативный список следующего вида:
(name . value). Пример:(connection-local-set-profile-variables 'remote-bash '((shell-file-name . "/bin/bash") (shell-command-switch . "-c") (shell-interactive-switch . "-i") (shell-login-switch . "-l")))(connection-local-set-profile-variables 'remote-ksh '((shell-file-name . "/bin/ksh") (shell-command-switch . "-c") (shell-interactive-switch . "-i") (shell-login-switch . "-l")))(connection-local-set-profile-variables 'remote-null-device '((null-device . "/dev/null")))
Чтобы добавить настройки переменных к существующему профилю, можно воспользоваться функцией
connection-local-get-profile-variablesдля получения существующих настроек, например:(connection-local-set-profile-variables 'remote-bash (append (connection-local-get-profile-variables 'remote-bash) '((shell-command-dont-erase-buffer . t))))
- Пользовательская настройка: connection-local-profile-alist
Этот ассоциативный список содержит символы профилей соединения и связанные с ними настройки переменных. Он обновляется функцией
connection-local-set-profile-variables.
- Функция: connection-local-set-profiles criteria &rest profiles
-
Эта функция назначает профили profiles, являющиеся символами, всем удалённым соединениям, определяемым критериями criteria. criteria — это список свойств, идентифицирующий соединение и приложение, использующее это соединение. Имена свойств могут быть
:application,:protocol,:userи:machine. Значение свойства:applicationявляется символом, значения всех остальных свойств — строками. Все свойства необязательны; если criteria имеет значениеnil, оно применяется всегда. Пример:(connection-local-set-profiles '(:application tramp :protocol "ssh" :machine "localhost") 'remote-bash 'remote-null-device)
(connection-local-set-profiles '(:application tramp :protocol "sudo" :user "root" :machine "localhost") 'remote-ksh 'remote-null-device)Если criteria имеет значение
nil, оно применяется ко всем удалённым соединениям. Таким образом, приведённый выше пример эквивалентен следующему:(connection-local-set-profiles '(:application tramp :protocol "ssh" :machine "localhost") 'remote-bash)
(connection-local-set-profiles '(:application tramp :protocol "sudo" :user "root" :machine "localhost") 'remote-ksh)(connection-local-set-profiles nil 'remote-null-device)
Все профили соединения из profiles должны быть предварительно определены с помощью
connection-local-set-profile-variables.
- Пользовательская настройка: connection-local-criteria-alist
Этот ассоциативный список содержит критерии соединения и назначенные им имена профилей. Функция
connection-local-set-profilesобновляет этот список.
Copyright © 1990-1996, 1998-2026 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/Connection-Local-Profiles.html