Emacs Lisp में क्लिपबोर्ड की प्रतिलिपि कैसे करें




elisp (3)

मैं एक स्ट्रिंग को क्लिपबोर्ड पर कॉपी करना चाहता हूं (किसी विशेष बफर का क्षेत्र नहीं, सिर्फ एक सादा स्ट्रिंग)। यह अच्छा होगा यदि इसे मार-अंगूठी में जोड़ा गया था। यहां एक उदाहरण है:

(copy-to-clipboard "Hello World")

क्या यह फ़ंक्शन मौजूद है? यदि हां, तो इसे क्या कहा जाता है और आप इसे कैसे मिला? क्या paste-from-clipboard फ़ंक्शन भी है?

मुझे ये सामान लिस्प संदर्भ मैनुअल में नहीं मिल सकता है, इसलिए कृपया मुझे बताएं कि आपने इसे कैसे पाया।


अपने चयन को विंडो सिस्टम क्लिपबोर्ड पर रखने के लिए कमांड x-select-text आप इसे याद रखने के लिए पाठ का एक ब्लॉक दे सकते हैं तो एक (buffer-substring (point) (mark)) या कुछ चीज़ों को आपको यह देना चाहिए कि आपको इसकी आवश्यकता क्या है। जो के जवाब में, आप इंटरप्रोग्राफ कट फंक्शन देख सकते हैं। देखो कि यह कैसे खोजना है।


मैं यह करता हूँ:

(with-temp-buffer
  (insert "Hello World")
  (clipboard-kill-region (point-min) (point-max)))

यह क्लिपबोर्ड पर हो जाता है। यदि आप इसे मार-रिंग पर चाहते हैं तो kill-region फ़ॉर्म भी जोड़ें।


आप को kill-new तलाश कर रहे हैं kill-new

kill-new is a compiled Lisp function in `simple.el'.

(kill-new string &optional replace yank-handler)

Make string the latest kill in the kill ring.
Set `kill-ring-yank-pointer' to point to it.
If `interprogram-cut-function' is non-nil, apply it to string.
Optional second argument replace non-nil means that string will replace
the front of the kill ring, rather than being added to the list.

Optional third arguments yank-handler controls how the string is later
inserted into a buffer; see `insert-for-yank' for details.
When a yank handler is specified, string must be non-empty (the yank
handler, if non-nil, is stored as a `yank-handler' text property on string).

When the yank handler has a non-nil PARAM element, the original string
argument is not used by `insert-for-yank'.  However, since Lisp code
may access and use elements from the kill ring directly, the string
argument should still be a "useful" string for such uses.




elisp