Содержание дисплея всего в настоящее время отдельного экрана

энергия имеет событие, с которым можно связать для этого, FocusGained, объедините это с redraw! команда ( ! заставляет окно быть очищенным сначала),

:au FocusGained * :redraw!

Синтаксис здесь может быть считан, как 'автоматически выполнено команда (au, коротко для autocmd), :redraw! когда я получаю событие FocusGained для любого файла, соответствующего шаблону *'.

для создания этого постоянным добавляют его к Вашему ~/.vimrc (продвижение : не необходим в vimrc).

к тестовым мероприятиям можно использовать более 'очевидную' команду как

:au FocusGained * :q!
2
09.12.2013, 21:11
2 ответа

Я думаю, что время показывает, что ответ на этот вопрос просто: Нет, это не возможно.

1
27.01.2020, 22:00

Вы хотите эквивалент hardcopy команда? Можно использовать -X опция.

 $ screen -p 9 -X hardcopy
 $ file hardcopy.9
 hardcopy.9: ASCII text

Вы затем циклически повторились бы через каждое окно. К сожалению, Вы не можете получить список окон, не используя что-то как expect так как вывод испускается к screenдисплей, не stdout. Но для команды как hardcopy, если нет никакого окна, никакой файл не сгенерирован.

Если Вы знаете о желании этого заранее Вы можете log каждый, когда окно создается (screen -L longrunningprogram внутренняя команда). Затем Вы видели вывод за пределами экрана. Вы могли также включить это после того, как программа запускается внутри screen или использование -X опция выше.

Редактирование (из комментария Stephene):

$ screen -X hardcopydir /tmp; screen -X at \# hardcopy
$ ls /tmp/hardcopy.*
hardcopy.0  hardcopy.2  hardcopy.4  hardcopy.6  hardcopy.8
hardcopy.1  hardcopy.3  hardcopy.5  hardcopy.7
3
27.01.2020, 22:00
  • 1
    я предполагаю бумажную копию, мог быть частью решения, но конечно который только будет применим в сценарии, который узнает все рабочие экраны, выделяет временное имя файла, бумажную копию вызовов на каждом из них, печатает его пользователю и удаляет временный файл. Который был бы возможен, но не квалифицирует, поскольку единственная команда :-) –  Joachim Breitner 09.12.2013, 22:11
  • 2
    Можно использовать at \# hardcopy работать hardcopy на каждом окна.См. также harcopydir указывать, где бумажные копии должны быть выведены. –  Stéphane Chazelas 09.12.2013, 22:44
  • 3
    Хорошее дополнение, Stehpane. Я всегда забываю о at; Я обычно только использую его в сочетании с grep найти что-то в потоке. Работы хорошо. –  Arcege 10.12.2013, 00:06
  • 4
    Joachin; для единственной команды без at, это просто была бы оболочка для цикла: for i in $(seq 20); do screen -p $i -X hardcopy; done; это было бы "Составной Командой", которая является все еще единственной командой (если Вы не говорите о единственной "Простой Команде"). –  Arcege 10.12.2013, 00:15

Теги

Похожие вопросы