রিংটি মারতে অপারেটিং সিস্টেম ক্লিপবোর্ড যুক্ত করুন


25

প্রায়ই আমি নিজেকে ইন্টারনেট থেকে আমার অপারেটিং সিস্টেমের ক্লিপবোর্ডে একটি কোড স্নিপেট অনুলিপি করতে দেখি। তারপরে, আমি নিম্নলিখিত সহজ পদক্ষেপগুলি নিই:

  1. আমার ইমাস উইন্ডোতে স্যুইচ করুন
  2. আমি যেখানে কোডটি আটকে দিতে চাই সে জায়গাটি সন্ধান করুন
  3. অনুলিপিযুক্ত পাঠ্য সন্নিবেশ করতে C-y( yank) ব্যবহার করুন ।

যাইহোক, কখনও কখনও আমি দেখতে পাই (আমার দুর্দান্ত হতাশার জন্য) যে আমি অজান্তে আমি কৃপণ কমান্ডের কিছু ফর্ম ব্যবহার করেছি (যেমন kill-wordবা kill-line) যখন আমি পদক্ষেপের সময় ছিলাম such রিং।

অন্যান্য অ্যাপ্লিকেশন থেকে অনুলিপি করা পাঠ্যটি সর্বদা আমার কিল রিংয়ে পরিণত করে তা নিশ্চিত করার কোনও উপায় আছে কি?

আমি লিনাক্সে প্রায়শই কাজ করি তবে আমি উইন্ডোজ এবং ম্যাক ওএস এক্সেও নিয়মিত ইমাক্স ব্যবহার করি, সুতরাং একটি ওএস-অজোনস্টিক উত্তর পছন্দ করা হয়।


আমি কি এই লিঙ্কটি পরামর্শ দিতে পারি ? পুরো পৃষ্ঠাটি ব্রাউজ করে, আপনি ক্লিপবোর্ড থেকে / ক্লিপবোর্ডে অনুলিপি / পেস্টের প্রচুর উপায় দেখতে পাবেন
নসুকামি _

@ শুকামি_ ধন্যবাদ আমি এটি হজম করার চেষ্টা করব, তবে লিঙ্কযুক্ত পৃষ্ঠাটি কেন ইমাসাক্কি-র উত্তর খুঁজতে আমি ক্লান্ত হয়ে পড়েছি তার একটি প্রধান উদাহরণ। সেখানকার অনেক এলিস্প হ্যাকার মনে হয় যে এলিজপ কোডটি স্ব-ডকুমেন্টিং এবং সে সম্পর্কে কোনও মন্তব্যের প্রয়োজন নেই, এবং কার্যকারিতা বা ব্যবহার সম্পর্কে কোনও ব্যাখ্যা নেই। কোডটি রিভার্স-ইঞ্জিনিয়ার করার জন্য আমি সাধারণত সময় পাই না কেবল এটি সিদ্ধান্ত নিতে আমি এটি যা চাই তা করতে পারে কি না।
নিসপিও

হা হা, আমি বুঝি;)
শুকামি _

উত্তর:


31

আপনার এটিকে কাস্টমাইজ save-interprogram-paste-before-killকরতে হবে t। আপনি ক্লিপবোর্ডে আটকানোর আগে ইমাসে কিছু মারলে ক্ষেত্রে এটি আপনার ক্লিপবোর্ডটিকে হত্যার দিকে ঠেলে দেবে। সম্পর্কিত কাস্টমাইজেশন হ'ল yank-pop-change-selectionক্লিপবোর্ডের উপর আপনার বর্তমান ইয়াঙ্ককে ইমাসে চাপ দেয়। এই উভয়টিরই কাজ করার জন্য আপনাকে ডিফল্ট হতে হবে x-select-enable-clipboard( gui-select-enable-clipboardইমাস 25.1 এ প্রতিস্থাপন ) করতে হবে t

এটি ডিফল্টরূপে বন্ধ হওয়ার কারণ হ'ল হত্যার দিকে অজানা পরিমাণে ডেটা ঠেকানো যা সহজেই প্রতিস্থাপন করা ক্লিপবোর্ডের বিপরীতে অধিবেশন চালিয়ে যায়।


1
এমনকি পরিষ্কার এবং আমার প্রত্যাশার চেয়ে সহজ। save-interprogram-paste-before-killআমি যা চাই ঠিক তাই করছে!
নিস্পিও

আমি ইমাসে 26 এ আছি, এবং gui-select-enable-clipboardতাকে ন্যায়সঙ্গত বলা হয় select-enable-clipboard
রুন কাগার্ড

3

আর একটি সমাধান হ'ল সম্ভব হলে ক্লাইট সরঞ্জামটি ব্যবহার করুন,

  • ম্যাকের উপর পিবিসিপি / পিবিপাস্ট করুন

  • সিগুইনে গেটক্লিপ / পুটক্লিপ

  • xsel লিনাক্সে
  • জিইউআই ইম্যাক্সের এক্স-ক্লিপবোর্ড (অন্যরা উল্লিখিত হিসাবে, আপনার পতাকাটি এক্স-সিলেক্ট-সক্ষম-ক্লিপবোর্ড চালু করা দরকার)।

এই সমাধানটির সুবিধাটি হ'ল ক্লিপবোর্ড সর্বদা ব্যবহারযোগ্য (উদাহরণস্বরূপ, যখন আপনি ssh রিমোট করেন)।

আমার উত্তর দুটি অংশ আছে। পার্ট ওয়ান ক্লিপবোর্ডে কারসাজি করার জন্য কয়েকটি কার্যকর সরঞ্জাম উপস্থাপন করে। দ্বিতীয় খণ্ড আপনার মূল প্রশ্নের উত্তর দেবে (ক্লিপবোর্ডটিকে কিল রিংয়ে সঞ্চয় করুন)।

প্রথম অংশ

আপনার ~ / .emacs এর নীচে কোডটি সন্নিবেশ করুন:

(setq *is-a-mac* (eq system-type 'darwin))
(setq *cygwin* (eq system-type 'cygwin) )
(setq *linux* (or (eq system-type 'gnu/linux) (eq system-type 'linux)) )
(defun copy-to-x-clipboard ()
  (interactive)
  (if (region-active-p)
      (progn
        (cond
         ((and (display-graphic-p) x-select-enable-clipboard)
          (x-set-selection 'CLIPBOARD (buffer-substring (region-beginning) (region-end))))
         (t (shell-command-on-region (region-beginning) (region-end)
                                     (cond
                                      (*cygwin* "putclip")
                                      (*is-a-mac* "pbcopy")
                                      (*linux* "xsel -ib")))
            ))
        (message "Yanked region to clipboard!")
        (deactivate-mark))
        (message "No region active; can't yank to clipboard!")))

(defun paste-from-x-clipboard()
  (interactive)
  (cond
   ((and (display-graphic-p) x-select-enable-clipboard)
    (insert (x-selection 'CLIPBOARD)))
   (t (shell-command
       (cond
        (*cygwin* "getclip")
        (*is-a-mac* "pbpaste")
        (t "xsel -ob"))
       1))
   ))

(defun my/paste-in-minibuffer ()
  (local-set-key (kbd "M-y") 'paste-from-x-clipboard)
  )

(add-hook 'minibuffer-setup-hook 'my/paste-in-minibuffer)

অংশ দুই

আপনার ~ / .emacs তে নীচে কোডটি সন্নিবেশ করুন এবং এখন থেকে, পেস্ট করতে "এমএক্স পেস্ট-ক্লিপবোর্ড-এবং-সিসি-কিল-রিং" ব্যবহার করুন:

(defun paste-from-clipboard-and-cc-kill-ring ()
  "paste from clipboard and cc the content into kill ring"
  (interactive)
  (let (str)
    (with-temp-buffer
      (paste-from-x-clipboard)
      (setq str (buffer-string)))
    ;; finish the paste
    (insert str)
    ;; cc the content into kill ring at the same time
    (kill-new str)
    ))
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.