パーソナルツール

rargs.vim : 指定した複数のファイルを一度に読み込む

— カテゴリ: ,
作者: 小見 拓 最終変更 2012年01月10日 02時14分

rargs.vimは指定した複数のファイルをカーソル行の位置に読み込む、 「:read」コマンドの拡張的な機能を提供するプラグインです。 (Windows, Mac)

概要

rargs.vim : read the contents of many files at one time.
https://github.com/taku-o/downloads/raw/master/rargs.vim

rargs.vimは指定した複数のファイルをカーソル行の位置に読み込む、 :read コマンドの拡張的な機能を提供するプラグインです。

Unixで良く行われるファイルをまとめる操作、

cat file1 file2 file3 > some.txt

を書き込まれる側のファイルから制御します。

インストール方法

インストールするにはプラグインをダウンロードして、 Vim設定ファイルディレクトリのpluginディレクトリにコピーしてください。

ファイル URL
rargs.vim https://github.com/taku-o/downloads/raw/master/rargs.vim

コマンドフォーマット

rargs.vimプラグインをインストールすると :RArgs コマンドが追加されます。 :RArgs コマンドのフォーマットは次の通りです。

:[N]RArgs [++opt] {filename1} [{filename2} {filename3}...]
コマンド説明
[N]
    テキストを流し込む位置。省略可能。

[++opt]
    ファイル読み込みの際に指定するオプション。
    詳しくは、 ':help ++opt' 参照。

{filename1} [{filename2} {filename3}...]
    読み込むファイル。複数指定可能。同じファイル指定可能。
    ワイルドカード使用可能。
    Vimのファイル系特殊キーワード('#2', '%')など使用可能。

コマンドの実行例

:RArgs コマンドはファイル名のリストを受け取りますが、
単純なファイル名だけでなく、ワイルドカードによるファイル指定や、 Vimのファイル系の特殊キーワードを使用したファイル指定、 同じファイルの複数回の読み込みなども利用できます。

" 複数ファイルの読み込み
:RArgs sample1.txt sample2.txt sample3.txt

" ワイルドカード
:RArgs sample*

" Vimのファイル系特殊キーワード
:RArgs #2 #4 #6<.bak

" 同じファイルの複数回読み込み
:RArgs sample1.txt sample1.txt sample1.txt

" エンコード、ファイルフォーマット指定
:RArgs ++enc=utf-8 ++ff=unix sample1.txt sample2.txt sample3.txt

読み込み位置

:RArgs コマンドでファイルが読み込まれる位置は、行未指定ならカーソル行、
行を指定したなら、その指定行になります。

" カーソル行に読み込み
:RArgs sample1.txt sample2.txt sample3.txt

" 200行に読み込み
:200RArgs sample1.txt sample2.txt sample3.txt

ファイルの先頭に、読み込みファイルを流し込むには、
:read コマンドの場合と同じく、行の指定に0を使用してください。

" ファイルの先頭に読み込んだファイルを流し込む
:0RArgs sample1.txt sample2.txt sample3.txt

設定

g:rargs_exit_when_error

ファイル読み込みの際、エラーが発生した、もしくは、指定したファイルが読み込めない場合に、 プラグインの処理を中止するかしないかを 'g:rargs_exit_when_error' で指定できます。 「デフォルトの挙動は、エラーがあっても残りのファイルを継続して処理する」です。

エラー発見時に、プラグインの処理を中止するには、Vimの設定ファイルで次のように 設定してください。

let g:rargs_exit_when_error = '1'
ドキュメントアクション
コメント
blog comments powered by Disqus
Update Feed
RSS1.0 / RSS2.0 / ATOM
Comment

Recent Comments