você pode tentar isto:
% vi 'cat file.txt'
ou, para evitar o uso de gatos:
% vi '< file.txt'
você está dizendo ao vi (m) apenas um monte de coisas arbitrárias. Se você quer que o vi (m) faça algo como 'hey, abra aquele arquivo' você tem que alimentá-lo com os mesmos comandos que você usaria no vi (m), por exemplo. algo como :e foo.txt
. mas isso é mais complicado do que fazer o que eu propus.