Программно установить env var для каждого сеанса Tmux - PullRequest
0 голосов
/ 07 января 2019

Я пытаюсь установить разные NVIM_LISTEN_ADDRESS для каждого сеанса Tmux, чтобы каждый сеанс мог запускать свой собственный Neovim сервер.

Я пробовал следующее:

session=$("tmux display-message -p '#S'") tmux set-environment -t "$session" NVIM_LISTEN_ADDRESS /tmp/"$session"

Но тогда как это позволяет вам tmux show-environment NVIM_LISTEN_ADDRESS, оно не позволяет вам echo $NVIM_LISTEN_ADDRESS, что мне и нужно.

Я также попробовал следующее в моем .tmux.conf, но он ничего не делает:

set-option -g default-command "NVIM_LISTEN_ADDRESS=/tmp/#S reattach-to-user-namespace -l /usr/local/bin/zsh"

Также пробовал:

set-option -g default-command "reattach-to-user-namespace -l NVIM_LISTEN_ADDRESS=/tmp/#S /usr/local/bin/zsh"

(Ранее это было set-option -g default-command "reattach-to-user-namespace -l /usr/local/bin/zsh", что необходимо для интеграции буферов обмена Tmux и Mac OS X.)

Что мне делать?

1 Ответ

0 голосов
/ 07 января 2019

Решено - /.zshrc:

session=$(tmux display-message -p '#S') address="/tmp/$session" local NVIM_LISTEN_ADDRESS="$address"

...