Bagaimana saya bisa menarik beberapa baris menjadi register?


44

Saya ingin menarik beberapa baris dalam satu register di vim, untuk dengan mudah menempelkan berbagai templat teks dalam dokumen.

Sebagai contoh, "iyy hanya menarik garis saat ini, jika saya mencoba untuk memilih beberapa baris dalam mode visual, itu tidak ditulis ke dalam register.

Ada saran?


"Jika saya mencoba memilih beberapa baris dalam mode visual, itu tidak ditulis ke dalam register." <- Benarkah? Bekerja untuk saya ...
Billy ONeal

dan bagi saya juga ...
ulidtko

ah ok, saya sudah mencoba dengan "iyv, konyol saya. harus VJJJ" iy seperti disebutkan ulidtko.
ryz

Jawaban:


59

Gunakan 3Yuntuk menarik 3 baris ke dalam register default; "i3Yuntuk menarik ke register i.

Juga, cara favorit saya adalah tidak menghitung garis yang ingin saya tarik, tetapi untuk memilihnya dalam mode visual melalui Vdan memindahkan perintah, dan kemudian tekan yuntuk menariknya atau "_ymenarik ke dalam register.

Juga, saya baru saja mencoba memilih beberapa baris dalam mode Visual Line dan menarik ke register tidak-default, misalnya Vjjj"oy- dan berfungsi.


1
+1 - tetapi VMode Visual Line, vadalah mode visual.
Billy ONeal

ok, ok, benar. Mode Garis Visual. %)
ulidtko

1
dengan senang hati menerimanya, cara tercepat untuk saya.
ryz

24

Dari mana saja di dalam file, Anda dapat menggunakan yang berikut ini.

:2,5y a

Yank lines 2 - 5. KE MENDAFTAR a

:7pu a

Tempel daftar di bawah baris 7.


1
Pertanyaannya bertanya, "bagaimana saya bisa menarik beberapa baris menjadi register ?" Tolong tunjukkan bagaimana perintah ini bekerja dengan register.
Scott

Saya harap hasil edit saya memenuhi permintaan Anda.
alock27

Maaf tidak. Pertanyaan tersebut secara eksplisit menyebutkan "daftar" berulang kali, merujuk pada "tempel templat teks yang berbeda dengan mudah", dan berikan contoh menggunakan register yang tidak standar.
Scott

3
@Scott Maafkan saya. Mengapa Anda tidak mengatakan, "Bung, periksa metode Anda dengan: reg. Anda akan melihat itu tidak berhasil." Dan saya sudah seperti, "Wah, salahku".
alock27

1
Sedang mencari cara untuk menarik file siapa ke register + untuk menyalin ke clipboard sistem. :% y + berhasil, terima kasih.
AlexMA

10

Gunakan muntuk menandai awal, dengan nama buffer (jadi Anda dapat mengetik mx). Pindahkan kursor ke bawah ke tempat Anda ingin berhenti menyalin, dan ketik y'x(atau d'xjika Anda memotong dan menempel). Kemudian pindahkan ke titik di mana Anda ingin menempel, dan ketik p.

Lembar cheat perintah Vim


Apakah Anda yakin tidak bermaksud vtidak m?
Billy ONeal

@BillyONeal 'v' memulai Mode Visual, dan memungkinkan Anda untuk melakukan hal yang sama, 'm' digunakan untuk "menandai" suatu wilayah.
Nifle

6

Anda awali perintah dengan angka untuk mendapatkan berapa baris untuk beroperasi. Anda juga dapat menggunakan 'objek-teks' (seperti ']' untuk blok, dan ')' untuk paragraf) - ini akan berfungsi pada beberapa baris secara kontekstual - defaultnya sering berupa satu baris. Misalnya, "r5yyakan menarik lima baris mulai dari kursor ke register 'r'. (Atau Anda dapat mengetik :.,+4y runtuk melakukan hal yang sama dalam mode ex.) Anda dapat menggabungkan angka dengan objek teks juga; "r10y).


Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.