7

ロードされたバッファ/ファイルが2つあり、両方とも分割ウィンドウを介して表示され、行番号が有効になっているため、既知であるとします。

一方のバッファにとどまり、もう一方のバッファの行を指定して、それをヤンクしてアクティブなバッファに入れる方法はありますか?

4

3 に答える 3

6
:let @ 0 = joingetbufline'#'42)、 "\ n")。"\ n"

#(他のバッファーの名前と他のバッファー42内の行番号に置き換えます。)

于 2012-06-02T23:56:27.790 に答える
3

両方のバッファがディスクに保存されていて、システムでsedを使用できる場合は、これを使用できます。

:r !sed -n -e 42p #

42を、代替バッファーからコピーする行に置き換えます。

このコマンドは、「other」ファイルから()行のみを印刷するように指示された(sedプログラム):readからの出力になります。内容は、現在の( )バッファの現在の行の下に挿入されます。!sed-np42#%

于 2012-06-02T23:09:41.520 に答える
1

類似のファイルを比較/編集していますか?多分

:vert diffsplit otherfilename

または(バッファがすでに開いている場合)

:windo diffthis

合理的だろう。diffmodeには、コマンドがあります

:diffput
:diffget

そして、他のバッファから行を取得して挿入/置換するための通常のコマンドと同等の(dpdo(_ obtain))。

于 2012-06-03T00:56:07.933 に答える