9

screen を使用して、Vim を使用して表示しているコードを、あるウィンドウから現在 Vim でファイルを編集している別のウィンドウにコピーしています。残念ながら、2 番目のウィンドウに貼り付けると、改行ごとに入力の左側に余白が増えていきます。この空白はどのようにしてバッファに入るのですか?

Vim が余分な空白を追加していた場合に備えて、自動インデントをオフにしようとしましたが、問題は解決しません。

関連する可能性のある情報は次のとおりです。

  • OSx 10.6.8
  • どちらのファイルも Unix スタイルです。
  • 画面バージョン:4.00.03
  • Vim バージョン: 7.3
  • 基礎となる端末タイプは次のとおりです: xterm-color
4

2 に答える 2

22

マウスまたはその他の vim 以外の方法を使用してコピーしていますか? はいの場合は:set paste、貼り付けの前後に行う必要があります:set nopaste:h pastetoggle簡単なマッピングについては、を参照してください。

すべての vim セッションがローカルであり、Vim がそれをサポートしている場合 ( :echo has('clipboard')<CR>echo1する必要があります)、システムのクリップボードを使用して、厄介なインデントなしで"+yヤンクおよびペーストする必要があります。"+p

または、同じ Vim セッションでファイルを開くことをお勧めします。

于 2013-02-07T21:18:33.250 に答える
0

問題はlistcharseol Vim が行末に文字を追加することにあります。一部のユーザーは、たとえば ↲ を追加します。</p>

この余分な文字を削除するには、次のように listchars に eop を設定しないでください。

set listchars=tab:\ \ ,trail:-,extends:>,nbsp:\ ,precedes:<

タブはスペースに置き換えられ、末尾のスペースは - などで表示されます...

eol が存在しないため、表示されません。これで問題が解決します

于 2015-10-23T13:14:51.880 に答える