Чтение со стандартного ввода:
echo "hey" | vim -
Когда вы :w
, вам все равно придется дать ему имя файла.
Программы, которые используют vim
в качестве EDITOR
, например crontab -e
, передают ему имя файла, чтобы пользователь мог просто :x
и не беспокоиться о именах файлов.
EDIT
Вы также можете сделать что-то вроде этого:
mkfifo /tmp/some_pipe
echo "hey" > /tmp/some_pipe ; cat /tmp/some_pipe
А из другого процесса (или терминала)
vim /tmp/some_pipe
Помните, что запись в канал будет блокироваться до тех пор, пока что-то из него не будет считано, а чтение будет блокироваться до тех пор, пока что-то записывает в него, поэтому может быть безопаснее использовать обычные файлы.