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
を使用してパスを強調表示することにより視覚モード。