Jak skopiować jakiś tekst z jednego otwartego pliku do drugiego?

Dodaj w .vimrc:

if has("unix")
  nmap xr   :r $HOME/.vimxfer<CR>
  nmap xw   :'a,.w! $HOME/.vimxfer<CR>
  vmap xr   c<esc>:r $HOME/.vimxfer<CR>
  vmap xw   :w! $HOME/.vimxfer<CR>
else
  nmap xr   :r ~/.vimxfer<CR>
  nmap xw   :'a,.w! ~/.vimxfer<CR>
  vmap xr   c<esc>:r ~/.vimxfer<CR>
  vmap xw   :w! ~/.vimxfer<CR>
endif

Teraz, po zaznaczeniu tekstu, wciśnij ‘xw’ aby go zapisać, przejdź do pliku gdzie chcesz dany tekst wstawić, i wciśnij ‘xr’.

Teoretycznie, można używać po prostu kopiowania (yank) za pomocą komendy ‘y’, ale ma ona istotne ograniczenia:

  • pozwala na skopiowanie maksymalnie 50 linii
  • żeby działało, trzeba otworzyć plik z którego chcesz skopiować treść, zamknąć go, otworzyć drugi, wkleić (czy też operacje na buforachw jednym oknie etc. Metoda z ‘xr’ i ‘xw’ pozwala na przenoszenie treści pomiędzy zupełnie różnymi oknami (korzysta z zewnętrznego pliku).

Liczba komentarzy: 2

  1. 1 Była Środa, 23 sierpień 2006 roku gdy o godzinie 15:38 przyszedł Wawrzyniec Niewodniczański i stwierdził:

    A nie lepiej zaznaczyć tekst z shiftem. W drugim oknie klinkąć środkowymi przyciskiem myszki (chyba też z shiftem)?

  2. 2 Był Poniedziałek, 20 listopad 2006 roku gdy o godzinie 13:13 przyszedł MySZ i stwierdził:

    Khm. A nie lepiej nie odrywać rąk od klawiatury, wykonując tak banalną czynność jaką jest kopiowanie i wklejanie tekstu? Zazwyczaj działa szybciej :)

    Poza tym, tenże shift nie jest potrzebny :)

A Ty? Co o tym myślisz?

Możesz używać w komentarzach następujących znaczników:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Sblam! Antyspam