În vim, puteți utiliza r
comandă pentru a citi un fișier sau o comandă din altă parte. Deci, ceea ce aș face în acest scenariu este:
- Eliminați ceea ce doriți să copiați într-un fișier, fie redirecționând rezultatul unei comenzi, fie este deja un fișier, așa că salvați-l.
- Deschideți vim în celălalt terminal și accesați fișierul în care doriți să îl inserați
- Utilizare
:tabe
din modul de comandă pentru a deschide o nouă filă
- Utilizare
:r /cale/la/fișier
pentru a citi conținutul acelui fișier pe care l-ați creat în (1) în buffer
- Apoi utilizați yank/paste ca de obicei sau utilizați ctrl-V în modul de comandă pentru a face un bloc de selectare vizuală și smulgeți-l.
Rețineți că îi puteți transmite o comandă :r
la fel, dar trebuie să scapi de unele personaje, deci :r! data +\%s
va obține ora unix curentă și o va insera în fișier.
Multe mai multe sfaturi despre bine-cunoscut Grok Vim post.
De asemenea, puteți face lucruri precum activarea numerotării liniilor cu :set numar
, apoi citiți anumite linii dintr-un fișier: :r! sed -n 147.227p /path/to/foo/foo.c
Sau, utilizați numerotarea liniilor cu numerotare relativă (:set relativenumber
) pentru a vă arăta cu ușurință cu câte linii să trageți y
. Doar așa faci 37 ani
și apoi p
unde vrei tu.