2011-08-02 12 views
0

viエディタは非常に便利なコマンドgfを持っています。新しいviウィンドウにカーソルを置いたファイルviエディタ。私はopenのようなシェルコマンドでファイル名をフィルタリングして、viエディタ内から任意の種類のファイルを開くことができるようにこの機能を一般化しようとしています。viエディタで、任意のプログラムで任意のタイプのファイルを開きます

しかし、* nix openコマンドの試行錯誤や閲覧に基づいて、名前/パスがパイプ/リダイレクト経由で送信されるファイルは開けません。たとえば、openは引数としてパイプ入力を受け入れることができないので、次の非常に単純なコマンドは失敗します。

echo file_name.txt |オープン

おそらく、この状況で使用できるopen以外の機能がありますか? >「<」:

:ここ

は、私はそのパスviビジュアルモードを使用してvi内で選択されたファイルを開くために使用しようとしましたviコマンドの選択であります!オープン

: '<、'>エコー|オープン

: '<、'>猫| open

注::'<,'>用語は、viビジュアルモードで強調表示されているテキストを指しています。 !は、デフォルトのシェルを使用して次のテキストをシェルコマンドとして実行する必要があることを示します。したがって、これらの行は、さまざまなシェルコマンドを使用して強調表示されたテキストをフィルタリングして無駄にしようとします。

上記の3つの例では、openコマンドでファイル名をフィルタリングしようとしましたが、動作しません。私が説明したタスクをどのように達成するための提案があれば誰でも共有してください。一般的なケース(パイプ/リダイレクト経由でパスを受信したファイルを開く)または特定のケース(viコマンドラインを使用してパスがテキストファイルに含まれているファイルを開く)のいずれかのソリューションは、非常に高く評価されます。ボーナスとして

、Iは(gfコマンドの場合のように)単にファイル名上にカーソルを配置することによってvi内からファイルを開くことができるようにしたい、というよりviを使用してパスを強調表示することにより視覚モード。

答えて

関連する問題