Bagaimana cara menyalin teks tanpa kehilangan pilihan?


11

Ketika saya menyalin beberapa teks yang dipilih ( kill-ring-savedengan M-w), saya secara otomatis kehilangan pilihan saya. Saya sudah mencoba dengan Mode Mark Transient tanpa hasil. (Perhatikan bahwa saya tidak menggunakan Mode CUA.)


Awalnya saya pikir ini tentang pemilihan X (dalam hal ini variabel select-active-regionsakan relevan), tetapi tampaknya tentang menyoroti wilayah.
YoungFrog

Jawaban:


11

Solusi terbaik adalah menggunakan C-x C-xuntuk mengaktifkan kembali tanda. Tetapi jika Anda ingin benar-benar mempertahankan pilihan, Anda dapat menggunakan:

(defun copy-keep-highlight (beg end)
  (interactive "r")
  (prog1 (kill-ring-save beg end)
    (setq deactivate-mark nil)))

1
Saya sarankan menggunakan nasihat seperti ini:(defun yf/no-deactivate-mark (&rest _) (setq deactivate-mark nil)) (advice-addadvice-add 'kill-ring-save :after #'yf/no-deactivate-mark)
YoungFrog

@ Djangoliv, terima kasih. Apa ini prog1?
NVaughan

@YoungFrog, terima kasih, tetapi kode Anda tidak berfungsi karena ada kesalahan sintaksis di suatu tempat.
NVaughan

2
Ah, salin kesalahan tempel: advice-addseharusnya hanya ada sekali. Saya tidak dapat mengedit komentar.
YoungFrog

1
@NVaughan di sini penjelasan yang bagus: emacs.stackexchange.com/questions/5829/…
djangoliv
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.