Apa itu Register Vim

Apa Itu Register Vim



Register Vim adalah blok penyimpanan yang digunakan untuk menyimpan teks dan operasi yang ditarik dan dihapus. Register ini dapat diakses menggunakan nama tagnya, yang dapat berupa angka, huruf, atau simbol.

Jika Anda menggunakan Vim, maka Anda harus menggunakan register Vim. Setiap kali Anda menyalin/menghapus teks, atau melakukan operasi perintah, Vim menyimpan informasi ini di register. Saat Anda menempelkannya, Vim mengambil data dari register dan menariknya ke dalam buffer. Dengan kata lain, register Vim bertindak sebagai clipboard untuk menyimpan teks dan riwayat perintah.

Vim memiliki total 10 tipe register berbeda, yang masing-masing memiliki tujuan berbeda. Dalam tutorial ini, saya akan menjelajahi register Vim, tipenya, dan penggunaannya.







Catatan : Untuk tutorial ini, saya menjalankan perintah di macOS. Vim adalah aplikasi lintas platform, oleh karena itu perintah yang disebutkan dalam panduan ini akan berlaku untuk semua versi Vim terlepas dari sistem operasinya.



Operator Daftar Vim

Register di Vim dapat digunakan menggunakan operasi seperti menyalin, menghapus, atau mengubah. Setiap operasi mempunyai operator tertentu, misalnya untuk menarik teks digunakan operator y, sedangkan untuk menghapus teks digunakan operator d. Daftar operator yang umum dipekerjakan diberikan di bawah ini:

Y y Menarik (menyalin) garis tersebut
DD Menghapus garis
cc Menghapus baris dan mengaktifkan mode INSERT
S Menghapus karakter dan memulai mode INSERT untuk menggantikannya
X Menghapus karakter di bawah kursor
q Makro; menyimpan kumpulan perintah ke register tertentu

Untuk mencetak teks yang disimpan, P atau P operator yang digunakan:

P Letakkan (paste) teks tersebut setelah kursor
P Letakkan teks sebelum kursor

Perintah-perintah ini juga diperhitungkan. Misalnya, untuk menyalin 10 baris gunakan 10 tahun perintah, sama halnya dengan menempelkan 10 salinan penggunaan baris yang ditarik 10p .

Daftar Register

Untuk membuat daftar semua register gunakan :daftar atau :reg perintah, dan untuk membuat daftar register tertentu gunakan :reg, dengan adalah nama register (misalnya, 0-9, a-z).

Dengan cara yang sama, untuk membuat daftar isi beberapa register, gunakan :reg “ memerintah.

Dalam daftar register, Anda akan melihat tiga kolom, Nama, Jenis, dan Isi . Di sini, Type berarti tipe konten, bukan tipe register. Tiga jenis konten dapat dimodifikasi dengan register.

  • aku : Dari segi garis
  • C : Dari segi karakter
  • B : Berdasarkan blok

Misalnya, jika konten disalin menggunakan operasi garis (Y y) maka tipe kontennya adalah aku , jika itu berdasarkan karakter (Ya) maka tipenya akan menjadi C , dan jika konten disalin berdasarkan blok (ctrl+v dan y) maka tipenya akan ditampilkan sebagai B .

Bekerja dengan Register Vim

Register Vim dapat digunakan untuk menyimpan konten menggunakan operator yank, delete, dan change. Konten yang disimpan dapat diakses menggunakan operator put.

Menyimpan Teks ke Register
Saat Anda menekan Y y kunci untuk menyalin sebuah baris, itu akan disimpan ke dalam register default yang disebut register tanpa nama (“”) . Untuk menyimpan baris yang disalin ke register tertentu, kutipan (“) diikuti dengan nama register dan operator yang digunakan.

'

Misalnya, untuk menyalin sebuah baris ke nama register Dengan menggunakan ' zyy . Demikian pula, jika Anda telah memilih beberapa baris dalam mode VISUAL, gunakan “ zy untuk menyimpan baris dalam register z.

Mengakses Daftar
Untuk mengakses register Vim, kutipannya (“) simbol digunakan dengan nama register dan hal/p operator.

'hal

Misalnya, jika nama register adalah z dan untuk mengakses konten register ini, gunakan “ zp dalam mode NORMAL. Namun, untuk melakukan operasi yang sama dalam mode INSERT, gunakan ctrl+rz .

Mode normal Untuk menyimpan konten gunakan kutipan (“) , daftarkan nama (a-z) , dan operator (y, yy, d, c, atau cc)
hal Mode normal Untuk menempelkan konten register gunakan kutipan (“) , daftarkan nama (a-z) Dan hal/p operator
ctrl+r Modus MASUKKAN Untuk menempelkan konten register, gunakan ctrl+r dan mendaftarkan nama (a-z)

Anda memiliki ide dasar tentang register Vim. Sekarang, saya akan membahas secara mendalam setiap jenis register dan penggunaannya.

Jenis Register Vim

Di Vim, ada 10 jenis register yang dirancang untuk tujuan tertentu.

  1. Daftar Tanpa Nama (“”)
  2. Register Bernomor (0-9)
  3. Daftar Hapus Kecil (“-)
  4. Register Bernama (a-z atau A-Z)
  5. Register Hanya Baca (“:, “., “%)
  6. Daftar File Alternatif (“#)
  7. Daftar Ekspresi (“=)
  8. Seleksi dan Drop Register (“*, “+, +~)
  9. Daftar Lubang Hitam (“_)
  10. Daftar Pola Pencarian Terakhir (“/)

1. Daftar Tanpa Nama (“”)

Ini adalah register default Vim untuk menyimpan teks yang ditarik atau dihapus menggunakan y, yy, d, hh, s, atau X perintah.

Itu :reg “” perintah dapat digunakan untuk membuat daftar konten yang disimpan dalam register tanpa nama.

Untuk menempelkan konten register yang tidak disebutkan namanya, gunakan perintah put (p atau P) memerintah. Secara default, P perintah menempatkan penyimpanan konten di register yang tidak disebutkan namanya. Alternatifnya, data yang disimpan dalam register tanpa nama juga dapat ditempelkan menggunakan perintah “”p.

Dalam contoh berikut, saya telah menyalin sebuah baris menggunakan Y y perintah lalu letakkan 5 kali menggunakan hitungan 5 dengan p (5p).

2. Register Bernomor (0-9)

Register bernomor digunakan untuk menyimpan teks yang terakhir ditarik atau dihapus.

Pendaftaran 0 berbeda dengan register 1-9 . Pendaftaran 0 akan selalu menyimpan teks yang terakhir ditarik. Misalnya, jika saya menarik saluran menggunakan Y y perintah, baris akan disimpan di keduanya tidak disebutkan namanya dan itu 0 register.

Sekarang, jika saya menghapus sebuah baris menggunakan DD , baris yang dihapus akan disimpan di register dan register tanpa nama 1 sedangkan teks yang terakhir ditarik akan tetap terdaftar 0 . Jadi, teks yang terakhir ditarik dapat diakses kapan saja melalui register 0 .

Register 1-9 menyimpan teks yang terakhir dihapus. Misalnya, jika saya menghapus sebuah baris menggunakan DD perintah, teks yang dihapus akan disimpan baik di unnamed maupun register 1 . Register 1 akan menyimpan teks terakhir yang dihapus. Jika saya menghapus baris lain, teks yang sebelumnya dihapus akan dipindahkan ke register 2 , dan yang terbaru akan disimpan di unnamed dan register 1 . Yang penting, register bernomor (1-9) menyimpan riwayat teks yang dihapus.

Mari kita pahami register bernomor dengan sebuah contoh. File teks Vim berikut terdiri dari 10 baris; ayo cabut baris 3 menggunakan Y y memerintah. Sekarang, mari kita periksa status register menggunakan perintah :reg.

Garis yang ditarik saat ini ada di tidak disebutkan namanya Dan 0 register. Sekarang, mari kita hapus semua baris satu per satu menggunakan DD memerintah. Jadi, yang terakhir baris 10 akan berada di register tanpa nama dan register 1. Pada saat yang sama, baris lain yang dihapus akan disimpan di register 2-9 dalam urutan menaik.

Jalur-jalur ini dapat diakses menggunakan P memerintah. Misalnya untuk meletakkan teks register 9 menggunakan “9p . Selanjutnya jika ingin memasukkan nilai register 9 5 kali, gunakan “95p .

3. Daftar Hapus Kecil (“-)

Register ini menyimpan teks yang dihapus jika kurang dari satu baris, menggunakan perintah seperti x, daw, diw, oleskan, Dan lagi . Apalagi jika Anda menghapus beberapa teks menggunakan VISUAL mode pemilihan, dan jika kurang dari satu baris, maka akan disimpan dalam register hapus kecil. Dalam Vim, baris berarti kalimat lengkap yang diakhiri dengan titik.

Misalnya pada file berikut, saya memilih 3 kata kolaborasi dan dukungan dari baris nomor 9 dan menghapusnya menggunakan D operator. Register hapus kecil akan digunakan untuk menyimpan pilihan ini karena panjangnya tidak lebih dari satu baris. Menggunakan :reg “- perintah untuk membuat daftar isi register hapus kecil.

4. Register Bernama (a-z atau A-Z)

Register bernama digunakan untuk menyimpan teks khusus pengguna. Jadi, jika Anda ingin menyimpan teks dalam register khusus, maka 26 mendaftar dari A ke Dengan dapat digunakan.

Misalnya, saya menarik baris di file berikut menggunakan “ zyy , teks akan disimpan di Dengan mendaftar seperti yang ditunjukkan pada gambar berikut.

Register bernama huruf kecil dan huruf besar memiliki tujuan yang berbeda. Misalnya, jika teks disimpan dalam huruf kecil, maka untuk menggantikan teks register tersebut akan digunakan huruf kecil. Namun, untuk menambahkan teks ke huruf kecil, akan digunakan huruf besar dengan nama yang sama.

Mari kita pahami melalui sebuah contoh. Dari file berikut, saya menyimpan baris 8 di register X menggunakan ' xyy .

Untuk menambahkan teks setelah baris ini, pertama-tama saya akan memilih beberapa kata dalam mode VISUAL. Untuk menambahkan teks yang dipilih, saya akan menggunakan “Xy memerintah.

Untuk mengganti teks, saya akan menggunakan lagi “ xyy .

5. Register Hanya-Baca (., %, 🙂

Vim memiliki 3 register read-only yang menyimpan apa yang dimasukkan teks, nama file, Dan terakhir dieksekusi memerintah.

. Menyimpan teks yang terakhir disisipkan
% Menyimpan nama file
: Menyimpan perintah yang terakhir dieksekusi

Register ini seperti namanya tidak dapat diubah, namun dapat diakses dengan mudah.

Untuk meletakkan teks yang terakhir disisipkan, gunakan '.P memerintah.

Untuk mencetak nama file, gunakan '%P memerintah.

Untuk mencetak perintah terakhir, gunakan ':P.

Itu @: perintah dapat digunakan untuk mengulangi perintah sebelumnya di Vim. Dalam contoh berikut, saya telah menghapus 3 baris pertama, saat ditekan @: , 3 baris lagi dihapus, maka ulangi perintah sebelumnya.

6. Daftar Buffer Alternatif (“#)

Buffer alternatif adalah file yang dibuka di buffer saat ini. Register “# menyimpan nama file dari file yang di-buffer di buffer saat ini. Mari buka file lain di buffer yang sama menggunakan :e ~/.vimrc perintah, perhatikan bahwa nama file saat ini adalah file.txt .

Untuk menutup buffer yang terbuka, gunakan :bhapus atau :menghapus memerintah. Sekarang, dimungkinkan untuk melihat nama file alternatif yang disimpan di “# daftar.

7. Daftar Ekspresi (“=)

Register ekspresi adalah register unik yang tidak digunakan untuk menyimpan teks, melainkan menyimpan ekspresi. Misalnya, jika Anda memiliki beberapa angka dalam file, untuk menjumlahkan angka-angka tersebut, ekspresi Vim akan digunakan.

Register ini dapat diakses menggunakan “= dalam mode NORMAL, dan ctrl+r = dalam mode MASUKKAN.

Misalnya, untuk mencari selisih antara dua angka, tekan “=, dan tanda sama dengan akan muncul di bilah status; sekarang ketikkan kedua angka dengan tanda minus (-) di dalamnya dan tekan Memasuki kunci. Sekarang, untuk mencetak perbedaannya, tekan P atau gunakan :meletakkan memerintah.

Untuk mengakses nilai register ekspresi, gunakan :reg “= memerintah.

Demikian pula, untuk mendapatkan nilai absolut dari dua bilangan, gunakan =abs(nilai1-nilai2) ekspresi.

Dengan cara yang sama, untuk menyimpan keluaran perintah sistem, register (ekspresi) ini dapat digunakan. Misalnya jika saya ingin membaca isi file yang akan saya gunakan =sistem('kucing ') , dengan menekan tombol Return, konten output akan disimpan. Menggunakan P atau :meletakkan perintah, konten output dapat ditempatkan di buffer.

Ada berbagai ekspresi yang dapat digunakan di Vim. Untuk mempelajari lebih lanjut tentang ekspresi Vim, gunakan : ekspresi bantuan Dan : bantuan ekspresi-sintaks perintah.

8. Seleksi dan Drop Register (“*, “+, “~)

Vim memiliki dua register seleksi “* (tanda kutip) dan “+ (quoteplus) yang digunakan untuk menyimpan teks dari GUI. Register ini digunakan untuk menyalin teks dari program eksternal seperti browser atau pengolah kata lainnya.

Misalnya, jika Anda menyalin pilihan teks dari browser, menggunakan ctrl+c atau cmd+c itu akan disimpan di “* daftar. Namun, Anda tidak dapat menggunakannya P atau :meletakkan untuk menempelkan teks ini di editor Vim. Menggunakan '*P untuk memasukkan teks ke dalam editor Vim yang disalin dari aplikasi eksternal.

Penting untuk dicatat bahwa keduanya “+ Dan “* register terhubung ke clipboard, jadi keduanya (“*p, “+p) dapat digunakan untuk menempelkan teks ke editor Vim. Demikian pula untuk meletakkan teks dari Vim, gunakan '*Y y untuk menarik satu baris lalu menempelkannya ke aplikasi GUI apa pun, gunakan ctrl+v atau cmd+v.

Penting untuk dicatat bahwa jika keduanya mendaftar (* & +) melakukan hal yang sama, lalu apa gunanya? Vim memiliki dua register seleksi “*, “+ melakukan pekerjaan yang sama dan itu karena sistem jendela X11. X11 menyediakan dua metode untuk menyimpan teks, satu adalah pilihan dan yang lainnya adalah cut-buffer . Pilihan dimiliki oleh aplikasi dan hilang saat aplikasi ditutup, sementara buffer yang dipotong menyimpan teks di server X. Untuk kedua jenis penyimpanan ini, register “* dan “+ digunakan. Untuk mempelajarinya lebih lanjut, gunakan :bantuan x11-seleksi memerintah.

Selanjutnya, jatuhkan daftar “~ yang digunakan untuk menyimpan teks dari operasi drag and drop terakhir. Misalnya, jika Anda membuang pilihan teks dari aplikasi eksternal, itu akan disimpan di register drop.

Jika Anda merasa sulit menempel dari aplikasi eksternal menggunakan tiga tombol berbeda, maka Anda dapat memetakan pilihan untuk disimpan dalam register tanpa nama.
Buka vimrc file, set tempat papan klip=tanpa nama di dalamnya, dan simpan file tersebut. Kini, setiap kali Anda menyalin dari aplikasi eksternal, aplikasi tersebut dapat ditempel dengan mudah menggunakan :meletakkan perintah atau tombol p.

Catatan : Drop register (~) hanya akan tersedia jika Vim dikompilasi dengan +dnd. Saat ini, hanya tersedia untuk GTK GUI.

9. Daftar Lubang Hitam (“_)

Jika Anda melakukan operasi penyalinan atau penghapusan di editor Vim, secara default ia menyimpan teks di register. Jika Anda ingin menghapus teks tanpa menyimpannya di register, gunakan register lubang hitam. Register ini tidak akan mengubah register tanpa nama (“”) saat menghapus teks.

Misalnya, jika saya ingin menghapus semua baris tanpa menyimpannya di register yang tidak disebutkan namanya, maka saya akan memilih semua baris terlebih dahulu menggunakan ggVG lalu tekan '_D kunci untuk menghapus semua baris. Demikian pula, untuk menghapus satu baris ke lubang hitam, gunakan '_DD .

10. Daftar Pola Pencarian Terakhir (“/)

Seperti namanya, register ini menyimpan pola pencarian terakhir menggunakan / atau ? operator. Misalnya, jika Anda mencari /Linux , lalu menggunakan '/P akan menempelkan kata Linux.

Vim menggunakan register ini untuk navigasi dengan N Dan N kunci setelah pencarian.

Ini adalah register yang dapat ditulisi, isinya dapat diubah menggunakan :let. Misalnya, untuk menyimpan Linux ke register ini, gunakan :biarkan @/='Linux'.

Register dan Makro

Di Vim, makro juga disimpan dalam register bernama (a-z). Jika Anda tidak mengetahui makro, maka makro adalah kumpulan perintah yang disimpan dalam register. Kumpulan perintah ini dapat dijalankan hanya dengan menggunakan tanda @ diikuti dengan nama register makro. Pada dasarnya, makro menghilangkan kebutuhan untuk mengetikkan banyak perintah berulang kali.

Misalnya untuk menyimpan makro ke register M , Saya akan gunakan qmq . Saya ingin pindah ke 5 garis ke bawah menggunakan 5j dan hapus baris menggunakan DD . Menggunakan, qm untuk memulai perekaman makro, lalu tekan 5j Dan DD . Sekarang, untuk keluar dari perekaman makro, tekan Q . Untuk memverifikasi apakah makro disimpan atau tidak digunakan, :reg “m atau :reg m.

Untuk menjalankan perintah ini dengan register makro, gunakan :@M memerintah.

Menghapus Daftar

Tidak ada pendekatan langsung untuk menghapus register karena sebagian besar register tidak perlu dibersihkan karena pada akhirnya akan ditimpa. Namun, ada beberapa teknik untuk menghapus nilai register di editor Vim.

1. Rekam makro kosong untuk menghapus register. Misalnya, untuk menghapus register m, gunakan qmq .

2. Atur teks kosong menggunakan membiarkan . Misalnya, untuk menghapus register m, gunakan :biarkan @m=”.

3. Gunakan setreg() berfungsi dengan string kosong sebagai argumen. Misalnya untuk menghapus register m gunakan :panggilan setreg('m', ”).

Kesimpulan

Ada 10 register berbeda dengan fungsi berbeda, sehingga hampir mustahil untuk diingat. Jika Anda seorang pemula maka saya sarankan untuk mengingat hanya tiga register, register tanpa nama (“”) , register bernomor (0-9) , dan bernama register (a-z) .

Untuk menyimpan teks ke register, gunakan kutipan (“) tanda tangani dengan nama register diikuti dengan perintah operator (kamu, d, c) . Untuk menempelkan teks dari register, gunakan perintah p atau P yang diawali dengan tanda kutip (“) dan mendaftarkan nama.

Anda pasti pernah mendengarnya, jika Anda mengerjakan tugas lebih dari dua kali, maka otomatiskan. Register Vim bisa sangat berguna untuk mengotomatiskan tugas dan pada akhirnya meningkatkan pengalaman. Untuk mempelajari lebih lanjut tentang register Vim, gunakan :bantuan mendaftar memerintah.