Làm thế nào để sao chép văn bản mà không mất lựa chọn?


11

Khi tôi sao chép một số văn bản đã chọn ( kill-ring-savevới M-w), tôi sẽ tự động mất lựa chọn của mình. Tôi đã thử với Chế độ đánh dấu thoáng qua mà không gặp may. (Lưu ý rằng tôi không sử dụng Chế độ CUA.)


Ban đầu tôi nghĩ đó là về lựa chọn X (trong trường hợp đó biến select-active-regionscó liên quan), nhưng dường như nó là về làm nổi bật khu vực.
YoungFrog

Câu trả lời:


11

Giải pháp tốt nhất là sử dụng C-x C-xđể kích hoạt lại nhãn hiệu. Nhưng nếu bạn muốn thực sự giữ lựa chọn, bạn có thể sử dụng:

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

1
Tôi khuyên bạn nên sử dụng một lời khuyên như thế này:(defun yf/no-deactivate-mark (&rest _) (setq deactivate-mark nil)) (advice-addadvice-add 'kill-ring-save :after #'yf/no-deactivate-mark)
YoungFrog

@djangoliv, cảm ơn. Đây là cái prog1
NVaughan 2/2/2016

@YoungFrog, cảm ơn, nhưng mã của bạn không hoạt động vì nó bị lỗi cú pháp ở đâu đó.
NVaughan 2/2/2016

2
Ah, sao chép lỗi dán: advice-addchỉ nên có một lần. Tôi không thể chỉnh sửa bình luận.
YoungFrog 2/2/2016

1
@NVaughan đây là một lời giải thích hay: emacs.stackexchange.com/questions/5829/ mẹo
djangoliv 2/2/2016
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.