1

Я пытаюсь сделать следующее:

  1. Начать новый сеанс экрана
  2. Запустите Vim на нем.
  3. Подайте на него команды.
  4. Проверьте вывод

в качестве средства тестирования VIM. Я могу это сделать, но главное в том, что я хочу, чтобы он был непрозрачным для пользователя.

Другими словами, пользователь запускает мой тестовый сценарий, и, не показывая им, сценарий создает новый экран, запускает на нем vim, и мы начинаем тестирование.

Это возможно? Могу ли я запустить vim на отдельном экране, и он будет работать как положено?

(Примечание: я не привязан к screen, tmux или какому-либо другому мультиплексору или на самом деле любой метод передачи контролируемого ввода в невидимую реализацию vim будет в порядке.)

Я сделал это вручную (разделил мой терминал и выполнил команды -X stuff на одном экране с vim на другом), но каждый раз, когда я пытаюсь написать скрипт, это не работает. У меня много проблем с выяснением, почему это не работает, потому что я не могу точно прикрепиться к экрану и смотреть ...

1 ответ1

2

Я не очень понимаю, что вы хотите сделать, когда вы объясняете средства, которые вы придумали вместо своей цели.

Если он скомпилирован с правильными параметрами, вы можете запустить vim в "режиме клиентского сервера" с помощью этой команды:

$ vim --servername HIDDEN

и отправлять команды с:

$ vim --servername HIDDEN --remote-send 'ihello<CR>'

или отредактируйте файл с помощью:

$ vim --servername HIDDEN --remote filename

Смотрите :h clientserver .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .