Как записать содержимое буфера в команду и считать результаты обратно из ее stdout в новый буфер

Как записать содержимое буфера в команду и считать результаты обратно из ее stdout в новый буфер

Я редактирую исходный код C в vim. Я хотел бы:

  1. Записать текущее содержимое буфера (который потенциально является буфером скрапа) в stdin моего любимого компилятора C (по сути, передать буфер команде)
  2. Прочитать из конвейера (который потенциально также читает stderr, поскольку компиляция может потерпеть неудачу) и направить stdout компилятора в новый буфер/раздел в vim
  3. (Необязательно) установите новый тип файла буферов на тот, который я укажу (обычно сборка)

Я бы предпочел vsplit вместо нового буфера, но не знаю, возможно ли это. Я не эксперт в vim. Я нашелэтот, иэтотответы. Последний вариант ближе всего к тому, что я хочу. Он использует временный буфер, насколько я понял; возможно ли сделать то же самое без временных файлов, но напрямую работая со stdio? Если нет, я пойду и воспользуюсь им.

решение1

Как и большинство вещей,для этого уже есть плагин.

Вы можете настроить его на вертикальное разделение, но окно вывода будет постоянным, поэтому вы можете просто изменить расположение окон по своему усмотрению после первого запуска.

Связанный контент