2013-02-07 4 views
7

私はVimを使用して1つのウィンドウから現在Vimでファイルを編集している別のウィンドウにコードをコピーしています。残念ながら、2番目のウィンドウに貼り付けると、改行後に入力の左に白いスペースがますます増えます。この空白はどのように私のバッファ上にあるのですか?スクリーンを使ってペーストするときに、改行の後に余分な空白があるのはなぜですか?

Vimが追加の空白を追加していても問題が解決しない場合は、自動インデントをオフにしようとしました。ここで

は適切であるかもしれない情報です:

  • OSX 10.6.8
  • 両方のファイルはUnix形式です。
  • 画面のバージョン:4.00.03
  • Vimのバージョン:7.3
  • 端末タイプをされる基礎:xtermの色

答えて

18

あなたは、マウスまたは他の非vimの方法を使用してコピーしていますか?はいの場合は貼り付ける前に:set pasteを、後に:set nopasteしなければなりません。クイックマッピングについては、:h pastetoggleを参照してください。 "+yをヤンクすると"+pはその厄介なインデントなしでペーストする:すべてのあなたのvimのセッションがローカルで、Vimは(:echo has('clipboard')<CR>1をエコーすべきである)、それをサポートしている場合

、あなたのシステムのクリップボードを使用する必要があります。

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

+0

コピーや貼り付けにVimを使用していません。私はそうするためにスクリーンを使用しています。私は間違いなく、同じVimセッションでファイルを開くことで問題を解決できますが、この問題は面白いと思っており、その底に到達したいと思います。また、地元のことはどういう意味ですか?同じホストのように? – Daeden

+1

問題はペーストモードです。ペーストする前に ':set paste'を実行すると、問題はなくなります。 –

+0

はい、同じホスト上にあります。 Vimの視点から見ると、「Cmd + v」は同じです。テキストはcharと行単位で挿入されますが(非常に素早く)、Vimはformatingとindentingを適用します。 '' + y'と '' + p'を使います。 – romainl

0

問題がlistcharsから来ているとeol Vimは一部のユーザーが、例えば、あなたがlistcharsにEOP設定されていないする必要があり、この余分な文字を削除するには例↲

のために追加し、行の末尾に文字を追加します:

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

タブ末尾のスペースをすると表示され、スペースで置き換えられます - EOLが存在しないので、それは表示されません

...、など、これはあなたの問題を解決します

関連する問題