質問

ソースファイルで「300YY」と入力したソースファイルで、300本のファイルを別のファイルにコピーしようとしています。

宛先ファイルに移動してPを押します、それは貼り付けますが、最初の50行のみです。

なぜ300を貼り付けていないのかという考えはありますか?

役に立ちましたか?

解決

で示唆されているように Vim Tips wiki, 、調整できます viminfo 設定:

:set viminfo?
:set viminfo='100,<1000,s100,h

個々のビットの意味:

  • '100 マークは、最後の100個の編集されたファイルで記憶されます。
  • <1000 レジスタごとに保存されている行の数を1000行に制限します。レジスタに1000行以上が含まれている場合、最初の1000行のみが保存されます。
  • s100 100 kbを超えるテキストを持つレジスタがスキップされます。
  • h VIMが起動したときに強調表示される検索を無効にします。

他のヒント

ユージンとZyxがあなたのviminfoを調整することが最も簡単な解決策だと言ったように

:set viminfo-=<50,s10

別のソリューションが使用されます :read および/または :write

file-name.txtから現在のバッファーに読み込みます

:read file-name.txt

現在のバッファからファイルへのappend.txtに行まで、行1の範囲を300行目に追加するには

:1,300write >> file-to-append.txt

視覚マークなどのライン番号の代わりにマークを使用することもできます

:'<,'>write >> file-to-append.txt

もちろん、viminfoの変更がおそらく最適に機能するユースケースを満たすことができない場合があります。

:help :write
:help :read
:help 'viminfo'
:help :set-=

同じセッションにとどまります(新しいファイルを開きます:eパス)、制限はありません。

試す vim -p file1 file2. 。各ファイルを新しいタブ(素晴らしい)に開き、コピー/ペースト制限を解決します

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top