задержка отправки ключей tmux в функцию vim - PullRequest
0 голосов
/ 02 июля 2018

У меня есть сценарий оболочки (назовем его a.sh), в котором я запускаю определенную команду. В какой-то момент эта команда требует ввода пользователя.

Я установил привязку ключа vim, где я запускаю a.sh в сеансе tmux.

function! CreateTmux()
    !tmux has-session -t mysession || tmux new-session -d -s mysession
    !tmux send-keys -t mysession 'a.sh' Enter
    " This should be delayed by a few seconds
    !tmux send-keys -t mysession 'my choice' Enter
endfunction

nnoremap <F9> :call CreateTmux()<CR>

Я бы хотел сделать задержку send-keys через tmux для сеанса, чтобы также ввести свой выбор для приглашения. Вот мой код

Ограничения:
1. Я надеюсь избежать блокировки команд в vim, чтобы продолжить работу.
2. Я не могу отредактировать a.sh, поэтому я не могу пропустить его без приглашения.
3. У меня нет vim 8 и я не могу получить его на сервере, на котором я работаю.

1 Ответ

0 голосов
/ 03 июля 2018

Вы можете попробовать запустить последнюю строку tmux в фоновом режиме с оболочкой сна. Заменить последнюю строку функции на

!(sleep 4 && tmux send-keys -t mysession 'my choice' Enter)&

Вам понадобится (), только если вы хотите заменить && на ;, например.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...