概要
コマンドからファイル名を出力して、vimで開きたいときls . | tail -1 | xargs -o vim
ちょっと詳しく
ls . | tail -1 | xargs vim
これだと、Vim: Warning: Input is not from a terminal と言われてしまう。
stdinが、xargsはnull device(/dev/null)、vimはターミナル(/dev/tty)に向いているため。なので、これでも開ける。ls . | tail -1 | xargs sh -c 'vim $1 < /dev/tty' -
xargsの-oオプションで、子プロセスのstdinを/dev/ttyに設定してくれる。ls . | tail -1 | xargs -o vim