স্মার্ট উদ্ধৃতিগুলি স্বয়ংক্রিয়ভাবে সরানো হচ্ছে


19

বিশেষত গুগল ডক্সের মতো জিনিসগুলি থেকে পাঠ্যের অনুলিপি করার সময়, আমি চাইব যে ইমাসগুলি স্বয়ংক্রিয়ভাবে স্মার্ট ডাবল উদ্ধৃতি, স্মার্ট একক উদ্ধৃতি এবং সমস্ত ধরণের এম-ড্যাশ এবং এন-ড্যাশ অক্ষরগুলি তাদের আসকি সমতুল্যগুলির সাথে প্রতিস্থাপন করে remove

এটি স্বয়ংক্রিয়ভাবে করার জন্য ইমাসকে কনফিগার করার কোনও উপায় আছে কি? বা, এই ব্যতীত, একটি ফাংশন আমি কল করতে পারি যা এটি বাফার বা অঞ্চলে করবে?


1
আমি এই ধারনাটি পছন্দ করি. অতীতে আমি (occur "[^[:ascii:]]")ম্যানুয়াল ক্লিনআপের জন্য অ-এস্কি অক্ষরগুলি খুঁজে পেয়েছি তবে স্বয়ংক্রিয়ভাবে সাধারণগুলি প্রতিস্থাপন করা দুর্দান্ত।
গ্লুকাস

এমন কি এমন কোথাও আছে যে সমস্ত 'স্মার্ট' অক্ষর এবং তাদের ascii সমতুল্য তালিকাবদ্ধ করে?
জোনাথন লেচ-পেপিন

উত্তর:


16

এস ইউ এর উপর ভিত্তি করে : অনুলিপি করুন কীভাবে অনুলিপি করুন অনুলিপি করুন copy

আপনি নিম্নলিখিত মত কিছু চেষ্টা করতে পারেন:

(defcustom smart-to-ascii '(("\x201C" . "\"")
                ("\x201D" . "\"")
                ("\x2018" . "'")
                            ("\x2019" . "'")
                            ;; en-dash
                            ("\x2013" . "-")
                            ;; em-dash
                            ("\x2014" . "-"))
  ""
  :type '(repeat (cons (string :tag "Smart Character  ")
                       (string :tag "Ascii Replacement"))))

(defun replace-smart-to-ascii (beg end)
  (interactive "r")
  (format-replace-strings smart-to-ascii
                          nil beg end))

এটি পছন্দসই সাথে মেলে চরিত্রগুলি যুক্ত / সমন্বয় করার অনুমতি দেওয়ার জন্য এটি একটি Defcustom হিসাবে ব্যবহার করা।


এটি সত্যিই একটি সম্পূর্ণ সমাধান হবে না, ইউনিকোডের বিভিন্ন ধরণের উদ্ধৃতি এবং ড্যাশ-জাতীয় চরিত্রগুলির জন্য প্রতিটি প্রতীক রয়েছে (উদাঃ অ-ব্রেকিং হাইফেন \ u2011) এবং সেগুলি মাঝে মধ্যে উপস্থিত হয়। আমি এমনকি নিশ্চিত নই যে ইউনিকোড বাড়ার সাথে সাথে একটি বিস্তৃত তালিকা সময়ের সাথে পুরোপুরি স্থায়ী থাকবে কিনা।
পিটারিস

1
@ পেটারিস ধরে নিচ্ছেন যে তালিকাটি বর্তমান রাখা হয়েছিল (এটির একটি তালিকা / রেফারেন্সের প্রয়োজন হবে) এটি দীর্ঘ সময় ধরে কাজ করবে work আমার নির্বাচন সম্পূর্ণভাবে লি এইচ উল্লেখ করেছেন তাদের উপর ভিত্তি করে। আমি এই ক্ষেত্রে একটি বিস্তৃত তালিকা সরবরাহ করার চেষ্টা করছিলাম না, কেবল একটি সূচনা পয়েন্ট যা পুনরুদ্ধার করা অন্য যে কোনও ব্যক্তির সাথে মানিয়ে নিতে কাস্টমাইজ করা যেতে পারে।
জোনাথন লিচ-পেপিন

তালিকায় সংখ্যায়িত অক্ষরগুলির পরিবর্তনের পরে, আপনি highlight-regexpঅঞ্চলে থাকা কোনও অ-ASCII অক্ষর হাইলাইট করার জন্য কল করতে পারেন ।
গ্লুকাস

8

@ জোনাথন যা পোস্ট করেছে তাতে যুক্ত করতে, আপনি এটি করে স্বয়ংক্রিয় করতে পারেন (যাতে ইয়ঙ্কিং সেই অক্ষরগুলিকে প্রথম স্থানে যোগ না করে) এটি করে:

(advice-add 'yank :after (lambda (&optional ignore)
                           (replace-smart-to-ascii (mark) (point)))
            '(name replace-smart))
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.