2013-02-07 10 views
7

Używam ekranu do kopiowania kodu, który przeglądam przy użyciu Vima z jednego okna do innego okna aktualnie edytującego plik w Vimie. Niestety, po wklejeniu do drugiego okna, po każdym nowym wierszu dostajemy coraz więcej białego spacji po lewej stronie. W jaki sposób ta biała spacja znajduje się na moim buforze?Dlaczego istnieją dodatkowe spacje po znakach nowej linii podczas wklejania przy użyciu ekranu?

Próbowałem wyłączyć automatyczne wcięcie w przypadku, gdy Vim dodawał dodatkowe białe znaki, ale problem nadal występuje.

Oto informacje, które mogą być istotne:

  • OSX 10.6.8
  • Oba pliki są w stylu Unix. Wersja
  • ekranu: 4.00.03 wersja
  • Vim: 7.3
  • Bazowy typ terminala jest: xterm-color

Odpowiedz

18

Czy kopiowanie za pomocą myszy lub jakiś inny non-vim sposoby? Jeśli tak, musisz wykonać :set paste przed wklejeniem i po :set nopaste. Aby uzyskać szybkie mapowanie, zobacz artykuł :h pastetoggle.

Jeśli wszystkie sesje vim są lokalne i Vim wspiera go (:echo has('clipboard')<CR> powinien echo 1), należy użyć schowka systemowego: "+y szarpać i "+p wkleić bez tego nieznośnego Wcięcia.

Lub, lepiej, otwórz swoje pliki w tej samej sesji Vima.

+0

Nie używam Vima do kopiowania lub wklejania. Używam Screen do tego. Naprawdę mogę naprawić problem, otwierając pliki w tej samej sesji Vima, ale uważam, że ten problem jest interesujący i chciałbym go poznać. Co dokładnie rozumiesz przez lokalny? Jak w tym samym hoście? – Daeden

+1

Problem stanowi tryb wklejania. Wykonaj ': set paste' przed wklejeniem, a problem zniknie. –

+0

Tak, na tym samym hoście. Z punktu widzenia Vima wklejanie z ekranu lub z 'Cmd + v' jest takie samo: tekst jest wstawiany char przez char i linia po linii (ale bardzo szybko) i Vim stosuje formowanie i wcięcie. Użyj "" + y "i" "+ p". – romainl

0

Problem pochodzi z listchars i eol Vim dodać znak na końcu linii, niektóre użytkownik dodać na przykład ↲

Aby usunąć tę dodatkową char czego potrzeba, aby nie ustawiać EOP w listchars, na przykład :

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

zakładka będzie zastąpić spacjami, spacje pojawi się - itd ...

jako EOL nie jest obecny, to nie będzie wyświetlacz, to będzie rozwiązać problem

Powiązane problemy