Apakah mungkin untuk mencegah kill-ring
menyimpan spasi putih / baris kosong? Sekarang setelah saya melakukan beberapa perubahan dan kemudian pergi ke browse-kill-ring
saya sering melihat sesuatu seperti ini:
-------
-------
merchant_uuid: "some_uuid"
-------
it "creates a webhook" do
-------
-------
-------
Apakah ada cara memaksa kill-ring hanya menambahkan konten yang bermakna?
helm-show-kill-ring
dan sepertinya menyaring entri cincin membunuh kosong. Saya masih bisa menarik banyak spasi, jadi +1 untuk pertanyaannya.kill-do-not-save-duplicates
dalamnya adalah , yang mencegahkill-new
dari menambahkan hal yang sama ke ring bunuh dua kali berturut-turut.Jawaban:
Inilah satu pendekatan untuk menangani pembunuhan kosong (yaitu hanya spasi kosong). Daripada memfilter semuanya, ini akan memungkinkan paling banyak satu entri kosong di ring bunuh. Setiap pembunuhan baru akan memeriksa kepala cincin pembunuhan dan menggantinya jika itu kosong.
Perhatikan bahwa saya menggunakan mekanisme saran Emacs 24.4+ di sini untuk memfilter argumen yang akhirnya diteruskan
kill-new
.Efeknya adalah bahwa Anda masih bisa membunuh dan menarik banyak ruang putih, tetapi jika Anda membunuh beberapa ruang putih dan kemudian membunuh sesuatu yang lain, entri spasi putih akan dibuang.
sumber
kill
,,kill-ring-save
dll. Jika Anda memiliki perintah yang menambah cincin bunuh tanpa meneleponkill-new
maka itu tidak akan berhasil, tentu saja.Satu masalah adalah bahwa perintah apa pun dapat memodifikasi
kill-ring
sehingga satu - satunya pengait yang cukup kuat untuk melakukan ini adalahpost-command-hook
. Ini tidak efisien, tetapi AFAIK satu-satunya cara untuk melakukan ini dengan keras. Jika itu kedengarannya baik bagi Anda, Anda dapat melakukan ini:Demi efisiensi, saya berasumsi bahwa semua perintah ditambahkan ke
kill-ring
, ini mungkin aman, tetapi perhatikan bahwa suatu fungsi dapat menyisipkan teks di mana saja mereka inginkan ke dalamkill-ring
. Ini jarang terjadi, dan saya yakin Anda tidak ingin mengulangi seluruh cincin bunuh pada setiap perintah.sumber