質問
ソースファイルで「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
. 。各ファイルを新しいタブ(素晴らしい)に開き、コピー/ペースト制限を解決します
所属していません StackOverflow