corner |
|
Темы:
6
Сообщения:
773
Участник с: 21 июля 2011
|
Вопрос, конечно, интересный. Уважаю вашу любознательность. Но умываю руки. :) Покапайтесь в исходниках. Мне кажется, что разница в поведении между more и vim принципиальна. Vi (vim) не предназначен для работы в конвейерах. Он даже из конвейра данные не принимает. man tree| vimХотя мне никогда в голову не приходило данные из конвейера передавать vim. |
naszar |
|
Темы:
21
Сообщения:
507
Участник с: 24 сентября 2012
|
Покопайтесь в исходникахНу тут понятно, если это происходит, то но как-то реализовано: грубо говоря, для more, если tcgetattr() возвращает -1, то просто копируется stdin в stdout... Он даже из конвейера данные не принимает.вообще-то принимает: man tree| vim - А вот тут писано, что это стандартное провидение для POSIX - систем: If the standard output is not a terminal device, no options other than -s shall have any effect, and all input files shall be copied to standard output otherwise unmodified, at which time more shall exit without further action. Правда это все только касаемо more, но тенденция в принципе понятна. Понимаю, что вопрос изначально глупый, поэтому в /dev/null; просто мне такое провидение показалось интересным и неочевидным... |