Передача по каналу в меньше и редактирование: “не может отредактировать стандартный вход” ошибка. Обходные решения?

Располагать целый файл с отступом автоматически:

gg
=G

Объясненный:

  • gg - перейдите к началу файла
  • G - перейдите к концу файла
  • = - отступ

9
26.10.2011, 19:01
3 ответа

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

Обходное решение довольно очевидно: сохраните поток в файл из less и откройте сохраненный файл. Чтобы сделать это при просмотре, нажать s и дайте название файла. Затем любой выход less и откройте файл вручную, или, все еще из less, ввести :e и дайте название файла, который Вы просто сохранили.

5
27.01.2020, 20:04

Это означает точно, что это сказало - можно только отредактировать файл, который находится на диске таким образом (от less). Если Вы передали вывод по каналу процесса, STDOUT входит STDIN для less; нет никакого файла для редактирования.

5
27.01.2020, 20:04

Хорошее обходное решение должно передать вывод по каналу от меньше до Вашего редактора, например, после "нечто эха | меньше", можно сделать:

g|$vim -

g перейдет к первой строке файла/входа, | вызовет действие "канала", $ метка ("конец"), сопровождаемый командой для передачи по каналу диапазона в (vim - в этом случае, где "-" означает читать вход из stdin).

15
27.01.2020, 20:04

Теги

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