Vim: 隠しバッファから行を出力する

Vim: 隠しバッファから行を出力する

カーソルを動かさずに、隠しバッファから行をエコーし​​たいです。次のようになります:

:redir! > /tmp/myfile
:1,$print 3
:redir end

(ウィンドウのレイアウトやカーソルの位置を変更せずに、非表示のバッファを検査したい。)

上記は現在のバッファに対してはうまく機能しますが、:printバッファを引数として受け取りません。

バッファ内の行を印刷する vim コマンドはありますか?

:w(ちなみに、開いているバッファの名前と番号も変更されるため、使用できません。)

答え1

関数を介して任意のバッファの行にアクセスできますgetbufline()。例:

for line in getbufline(3, 1, '$')
    echo line
endfor

関連情報