Я хотів би записати весь буфер у стандартний output ( /dev/stdout
) замість файлу, і наступна команда працює, як очікувалося, під час редагування файлу:
:w >> /dev/stdout
Підказка: Натисніть Control+, Lщоб оновити екран.
Але це не працює, як очікувалося, коли я намагаюся зробити те ж саме з командного рядка ( неінтерактивно ), наприклад:
$ echo This is example. | vim - '+:w >> /dev/stdout' '+:q!'
Vim: Reading from stdin...
Ж з :w !tee
, :x! /dev/stdout
, :%print
і аналогічні.
Перед тим як піти, він говорить: [Device] 1L, 17C appended
.
Чи є який-небудь спосіб змусити vim записати стандартний вхід на стандартний вихід у середині труби? Може, це якось буферно?
vim
для розбору файлів замість sed
(наприклад, масових повторних складних змін у кількох великих файлах). Цей приклад не робить нічого, щоб зробити це просто і не робити потенційного дубліката іншої публікації .