উত্তর:
আসুন এখানে আমাদের সংজ্ঞা সাথে সাবধান হন
kill-ring-save
(সাধারণত আবদ্ধ M-w)।yank
(সাধারণত আবদ্ধ C-y)।আমার ক্ষেত্রে (জিনোমে):
Emacs পেস্ট এবং সিস্টেম পেস্টের সাথে Emacs অনুলিপিটির সাথে সিস্টেমের অনুলিপি তৈরির কাজ করতে (setq x-select-enable-clipboard t)
আপনাকে আপনার এতে যুক্ত করতে হবে .emacs
। অথবা চেষ্টা করুন
META-X set-variable RET x-select-enable-clipboard RET t
আমি মনে করি এটি বেশ আদর্শ আধুনিক ইউনিক্স আচরণ।
এটি লক্ষণীয়ও গুরুত্বপূর্ণ (যদিও আপনি বলছেন যে আপনি একটি পৃথক উইন্ডোতে ইমাকস ব্যবহার করছেন) যে যখন ইমাসগুলি একটি কনসোলে চলছে তখন এটি সিস্টেম এবং এক্স ক্লিপবোর্ডগুলি থেকে সম্পূর্ণ তালাকপ্রাপ্ত: টার্মিনাল দ্বারা কাটা এবং পেস্ট মধ্যস্থতা করা হয় । উদাহরণস্বরূপ, আপনার টার্মিনাল উইন্ডোতে "সম্পাদনা-> আটকান" ঠিক তেমনভাবে কাজ করা উচিত যেমন আপনি ক্লিপবোর্ড থেকে ইম্যাক্স বাফারটিতে পাঠ্য টাইপ করেন।
META-X set-variable RET select-enable-clipboard RET t
বা(setq select-enable-clipboard t)
আপনার .emacs
ফাইলে নিম্নলিখিতটি প্রবেশ করান :
(setq x-select-enable-clipboard t)
emacs -nw
টার্মিনালের নিজস্ব শর্টকাট ব্যবহার করি; Shift-Ctrl-X টেক্সট কাটতে (হত্যা করতে হবে) এবং অনুলিপি করার জন্য Shift-Ctrl-C।
emacs -nw
অনুভূমিকভাবে বিভাজিত tmux উইন্ডোটির ভিতরে চলে তখন এটি কাজ করবে না ।
আমি আমার .emacs এ এটি আটকে রেখেছি:
(setq x-select-enable-clipboard t)
(setq interprogram-paste-function 'x-cut-buffer-or-selection-value)
পরবর্তীকালে আমার কাছে ইমা্যাকসের কোনও কিছু থেকে অন্য কোনও এক্স 11 বা জিনোম অ্যাপ্লিকেশনটিতে পিছনে পিছনে কাটা এবং আটকানোতে কোনও সমস্যা নেই।
বোনাস: আপনার সম্পূর্ণ .emacs পুনরায় লোড না করে ইম্যাক্সগুলিতে এই জিনিসগুলি পেতে, .emacs বাফারটিতে প্রতিটি অভিব্যক্তিটির নিকটতম পেরেনের পরে স্যার কার্সার দিয়ে Cx সিটি করুন।
শুভকামনা!
Symbol’s function definition is void: x-cut-buffer-or-selection-value
ইমাসে অনুলিপি এবং পেস্ট করার অসুবিধা হ'ল আপনি এটি অভ্যন্তরীণ হত্যা / ইয়াঙ্ক থেকে স্বাধীনভাবে কাজ করতে চান এবং আপনি এটি টার্মিনাল এবং গুই উভয় ক্ষেত্রেই কাজ করতে চান। টার্মিনাল বা গুই উভয়ের জন্য বিদ্যমান শক্তিশালী সমাধান রয়েছে তবে উভয়ই নয়। এক্সসেল ইনস্টল করার পরে (উদাঃ sudo apt-get install xsel
), আমি তাদের একত্র করার জন্য অনুলিপি এবং পেস্ট করার জন্য এখানে যা করছি:
(defun copy-to-clipboard ()
(interactive)
(if (display-graphic-p)
(progn
(message "Yanked region to x-clipboard!")
(call-interactively 'clipboard-kill-ring-save)
)
(if (region-active-p)
(progn
(shell-command-on-region (region-beginning) (region-end) "xsel -i -b")
(message "Yanked region to clipboard!")
(deactivate-mark))
(message "No region active; can't yank to clipboard!")))
)
(defun paste-from-clipboard ()
(interactive)
(if (display-graphic-p)
(progn
(clipboard-yank)
(message "graphics active")
)
(insert (shell-command-to-string "xsel -o -b"))
)
)
(global-set-key [f8] 'copy-to-clipboard)
(global-set-key [f9] 'paste-from-clipboard)
আমি ইম্যাক্স দ্বারা ধরে নিয়েছি আপনি এক্স এর অধীনে ইমাকস অর্থ (অর্থাত্ টার্মিনাল উইন্ডোর অভ্যন্তরে নয়)।
দুটি উপায় আছে:
ক্লিপবোর্ড অপারেশন উপলব্ধ:
এখানে একটি ইমাসউইকিউ নিবন্ধ রয়েছে যা এক্স এর অধীনে অনুলিপি এবং আটকানো এবং কীভাবে এটি কাজ করতে কনফিগার করা যায় সে সম্পর্কে কিছু বিষয় ব্যাখ্যা করে।
এটি M-w
ম্যাক ওএসএক্স- এ কাজ করে। আপনার .emacs ফাইলটিতে কেবল যুক্ত করুন।
(defun copy-from-osx ()
(shell-command-to-string "pbpaste"))
(defun paste-to-osx (text &optional push)
(let ((process-connection-type nil))
(let ((proc (start-process "pbcopy" "*Messages*" "pbcopy")))
(process-send-string proc text)
(process-send-eof proc))))
(setq interprogram-cut-function 'paste-to-osx)
(setq interprogram-paste-function 'copy-from-osx)
উপরে @ রাসেলস্টয়ার্টের উত্তর দ্বারা অনুপ্রাণিত নীচের কোডটি এক্স-প্রাইমারি এবং এক্স-সেকেন্ডারির জন্য সমর্থন যোগ করে, একটি খালি অঞ্চলের কেসটি প্রতিস্থাপনের region-active-p
সাথে প্রতিস্থাপন use-region-p
করে, xsel ইনস্টল না করা থাকলে নিঃশব্দে ফিরে আসে না (একটি ত্রুটির বার্তা দেয়), এবং একটি "কাটা" ফাংশন (ইমাসস সি, উইন্ডোজ সিক্স) অন্তর্ভুক্ত করে।
(defun my-copy-to-xclipboard(arg)
(interactive "P")
(cond
((not (use-region-p))
(message "Nothing to yank to X-clipboard"))
((and (not (display-graphic-p))
(/= 0 (shell-command-on-region
(region-beginning) (region-end) "xsel -i -b")))
(error "Is program `xsel' installed?"))
(t
(when (display-graphic-p)
(call-interactively 'clipboard-kill-ring-save))
(message "Yanked region to X-clipboard")
(when arg
(kill-region (region-beginning) (region-end)))
(deactivate-mark))))
(defun my-cut-to-xclipboard()
(interactive)
(my-copy-to-xclipboard t))
(defun my-paste-from-xclipboard()
"Uses shell command `xsel -o' to paste from x-clipboard. With
one prefix arg, pastes from X-PRIMARY, and with two prefix args,
pastes from X-SECONDARY."
(interactive)
(if (display-graphic-p)
(clipboard-yank)
(let*
((opt (prefix-numeric-value current-prefix-arg))
(opt (cond
((= 1 opt) "b")
((= 4 opt) "p")
((= 16 opt) "s"))))
(insert (shell-command-to-string (concat "xsel -o -" opt))))))
(global-set-key (kbd "C-c C-w") 'my-cut-to-xclipboard)
(global-set-key (kbd "C-c M-w") 'my-copy-to-xclipboard)
(global-set-key (kbd "C-c C-y") 'my-paste-from-xclipboard)
আমি ম্যাক এবং লিনাক্স উভয়ই অনুলিপি করতে C-x C-w
এবং C-x C-y
অনুলিপি করতে এখানে অন্যান্য উত্তরের উপর ভিত্তি করে নিম্নলিখিতটি ব্যবহার করি (যদি কেউ উইন্ডোজের সংস্করণ জানেন তবে এটি এটিকে যোগ করতে দ্বিধা বোধ করবেন)। নোট করুন যে লিনাক্সে আপনাকে আপনার প্যাকেজ ম্যানেজারের সাথে xsel এবং xclip ইনস্টল করতে হবে।
;; Commands to interact with the clipboard
(defun osx-copy (beg end)
(interactive "r")
(call-process-region beg end "pbcopy"))
(defun osx-paste ()
(interactive)
(if (region-active-p) (delete-region (region-beginning) (region-end)) nil)
(call-process "pbpaste" nil t nil))
(defun linux-copy (beg end)
(interactive "r")
(call-process-region beg end "xclip" nil nil nil "-selection" "c"))
(defun linux-paste ()
(interactive)
(if (region-active-p) (delete-region (region-beginning) (region-end)) nil)
(call-process "xsel" nil t nil "-b"))
(cond
((string-equal system-type "darwin") ; Mac OS X
(define-key global-map (kbd "C-x C-w") 'osx-copy)
(define-key global-map (kbd "C-x C-y") 'osx-paste))
((string-equal system-type "gnu/linux") ; linux
(define-key global-map (kbd "C-x C-w") 'linux-copy)
(define-key global-map (kbd "C-x C-y") 'linux-paste)))
xclip
ক্লিপবোর্ডের সামগ্রীটি পেস্ট করার পাশাপাশি ব্যবহার করতে পারেন xclip -o
। এটি এমন লোকদের পক্ষে কার্যকর হতে পারে xclip
যা অনুলিপি এবং আটকানো উভয়ই করতে অন্য প্রোগ্রাম ইনস্টল করতে চান এবং না।
হুম, আপনি কোন প্ল্যাটফর্ম এবং ইমাসের কোন সংস্করণ ব্যবহার করছেন? উইন্ডোজ ভিস্টায় জিএনইউ ইমাস্যাক্স 22.1.1 এর সাথে এটি আমার পক্ষে ভাল কাজ করে।
যদি কোনও সুযোগে আপনি উইন্ডোজ থেকে লিনাক্সে রিয়েলভিএনসি দর্শকের মাধ্যমে এটি করছেন তবে নিশ্চিত হন যে আপনি প্রথমে লিনাক্স বাক্সে "vncconfig -iconic" চালাচ্ছেন .....
আপনি কোন প্ল্যাটফর্মটি ব্যবহার করছেন তা নির্দিষ্ট করতে চাইতে পারেন। এটি কি লিনাক্স, ইউনিক্স, ম্যাকোসেক্স, উইন্ডোজ, এমএস-ডসগুলিতে রয়েছে?
আমি বিশ্বাস করি উইন্ডোগুলির জন্য এটি কাজ করা উচিত। ম্যাকোএসএক্সের জন্য এটি এক্স-উইন্ডোজ ক্লিপবোর্ডে যুক্ত হবে, যা ম্যাকোক্স ক্লিপবোর্ডের মতো নয়। লিনাক্সের জন্য, এটি আপনার উইন্ডো ম্যানেজারের গন্ধের উপর নির্ভর করে, তবে আমি বিশ্বাস করি যে এক্স-উইন্ডোগুলি বেশিরভাগের উপর এটি দুর্দান্ত উপায়ে পরিচালনা করে।
সুতরাং, দয়া করে নির্দিষ্ট করুন।
আমি যা করি তা হ'ল একটি ভাল টার্মিনাল সরঞ্জাম (উইন্ডোজে পুটিটিওয়াই, লিনাক্সে কনসোল বা টার্মিনাল) যাতে অন্তর্নির্মিত অনুলিপি সুবিধা রয়েছে।
পুটিতে আপনি মাউসের সাহায্যে যে পাঠ্যটি চান তা হাইলাইট করুন এবং তারপরে এটি অন্য কোথাও পেস্ট করুন। একটি পিটিটিওয়াই উইন্ডোতে ডান-ক্লিক করা উইন্ডোজ অনুলিপি / পেস্ট বাফারের সামগ্রীগুলি আটকায়।
লিনাক্সের কনসোল বা টার্মিনালে আপনি যা চান তা হাইলাইট করুন তারপরে অনুলিপির জন্য Shift + Ctrl + C এবং পেস্টের জন্য Shift + Ctrl + V টিপুন।
ইমাক্সের উইন 32 সংকলনে, ইয়ঙ্কিং পাঠ্যটি এটি অনুলিপি / পেস্ট বাফারে রাখে .. বেশিরভাগ সময়।
ম্যাক ওএস এক্স-এ, অ্যাপল-কি কর্টকাটগুলি দুর্দান্ত কাজ করে, কারণ টার্মিনাল তাদের আটকে দেয় ps
কমান্ডলাইনে এটি করার সরাসরি কোনও উপায় নেই কারণ শেল প্রতিটি অ্যাপ্লিকেশনের জন্য একটি অনুলিপি / পেস্ট বাফার করে না। ব্যাশ করে একটি কপি বজায় রাখা, নিজেই জন্য বাফার পেস্ট, এবং, ডিফল্টরূপে / Emacs ^ K / ^ Y শর্টকাট হবে।