Apakah ada cara untuk menghapus sesuatu di Vim tanpa memindahkannya ke register?


5

Seringkali saya ingin menghapus sesuatu di Vim tanpa memindahkannya ke register. Apakah ada metode untuk melakukan ini? Saya menemukan bahwa harus secara eksplisit menentukan register "a untuk menjadi sedikit sering.

Jawaban:


6

Sepertinya Anda benar-benar mengajukan dua pertanyaan terkait di sini:

  1. Anda ingin menghapus teks tanpa muncul di register mana pun
  2. Anda ingin dapat menentukan register default selain "

Yang pertama bisa dilakukan, cukup gunakan _ register, yang disebut register "lubang hitam", bukannya sesuatu seperti a daftar. Sebagai contoh: "_dd

Yang kedua tidak bisa dilakukan, sejauh yang saya tahu.

Lihat :help registers.


Itu masih menambahkan dua karakter lagi ke tugas yang diulang, saya ingin mengubah register default menjadi _ jadi saya mencukur dua penekanan tombol dari siklus delete-paste.
Evan Carroll

@EvanCarroll: Anda tidak perlu menentukan register untuk siklus delete-paste. Kedua operasi menggunakan register default (") secara default.
garyjohn

Benar, tapi saya tidak ingin menghapus untuk mengetahui apa yang ada di register default karena saya ingin menempelnya tanpa menentukan register non-default untuk paste, atau menghapus.
Evan Carroll

Oke. Dalam hal ini, dan seperti yang ditulis oleh Heptite, saya tidak melihat cara untuk melakukan itu.
garyjohn

1

Anda selalu dapat melakukan sesuatu seperti ini:

nnoremap d "_d
vnoremap d "_d

Tapi saya tidak akan merekomendasikannya: Vim default harus tetap seperti semula.

Dari pada "_d, Saya menggunakan pemetaan ini untuk menghapus ke dalam register lubang hitam:

nnoremap <leader>d "_d
vnoremap <leader>d "_d

Itu hanya lebih pendek dengan satu tombol tetapi lebih baik daripada menimpa default Vim.

Saya menggunakan pemetaan ini ketika saya perlu menempelkan sesuatu beberapa kali:

vnoremap <leader>p "_dP

Yang seperti ini:

10 yank something
20 select something else
30 paste over it
40 GOTO 20
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.