Bashに関数を書いて確認しました。男性Vimのページ:
viman () { man "$@" | vim -R +":set ft=man" - ; }
これはうまくいきます。存在しないマニュアルページを渡すと、唯一の問題が発生します。マンページは存在しませんが、まだ空のvim
バッファで開くと印刷されます。
そのため、エラーコード(16
ここにあります)を確認し、ページがない場合は終了するように機能を変更しました。変更された関数は次のとおりです。
viman () { man "$@" | [[ $? == 16 ]] && exit 1 | vim -R +":set ft=man" - ; }
しかし今は効果がありません。
マニュアルページが存在しない場合はプログラムを終了し、そうでなければvim
。
ベストアンサー1
これを試してみてください:vimが正常に起動した場合はman出力をキャプチャします。
viman () { text=$(man "$@") && echo "$text" | vim -R +":set ft=man" - ; }