এই নিবন্ধটি বলেছে যে "ইমাক্সের পুনরায় কাজ হয়েছে কারণ আপনি পূর্বাবস্থায় ফিরার সময় দিকনির্দেশকে বিপরীত করতে পারেন, যার ফলে পূর্বাবস্থায় ফিরে আসা যায় না"।
এটার মানে কি? কোনও ব্যবহারকারী কীভাবে ইমাক্স দিয়ে 'পুনরায়' করতে পারেন?
এই নিবন্ধটি বলেছে যে "ইমাক্সের পুনরায় কাজ হয়েছে কারণ আপনি পূর্বাবস্থায় ফিরার সময় দিকনির্দেশকে বিপরীত করতে পারেন, যার ফলে পূর্বাবস্থায় ফিরে আসা যায় না"।
এটার মানে কি? কোনও ব্যবহারকারী কীভাবে ইমাক্স দিয়ে 'পুনরায়' করতে পারেন?
উত্তর:
সংক্ষিপ্ত সংস্করণ: পূর্বাবস্থায় ফিরুন। যদি আপনি পূর্বাবস্থায় ফিরে যান এবং তারপরে কোনও নন-সম্পাদনা কমান্ডটি করেন C-fতবে তারপরে পূর্ববর্তী পূর্বাবস্থায় ফিরে যাওয়া পূর্বাবস্থায় ফিরে আসবে, ফলস্বরূপ একটি পুনরায় করা হবে।
দীর্ঘ সংস্করণ:
আপনি অপারেশনটিকে একটি স্ট্যাক অপারেশনে অপারেটিং হিসাবে ভাবতে পারেন। যদি আপনি C-fপূর্বাবস্থায়িত ক্রিয়াকলাপগুলির পরে কিছু কমান্ড (এমনকি একটি নেভিগেশন কমান্ড ) সম্পাদন করেন তবে সমস্ত পূর্ববর্তীকে অপারেশন স্ট্যাকের দিকে ঠেলে দেওয়া হবে। সুতরাং পরের পূর্বাবস্থায় ফেরানো শেষ আদেশটি বাতিল করে। মনে করুন আপনার কাছে এমন কোনও অপারেশন সিকোয়েন্স রয়েছে যা দেখতে এরকম দেখাচ্ছে:
এখন, আপনি পূর্বাবস্থায় ফিরে যান। এটি সর্বশেষ ক্রিয়াটিকে পূর্বাবস্থায় ফিরে আসে, এর ফলে নিম্নলিখিত তালিকাটি তৈরি হয়:
আপনি যদি এই মুহুর্তে পূর্বাবস্থায় ফেরা ব্যতীত অন্য কিছু করেন - বলুন, C-fঅপারেশন স্ট্যাকটি দেখতে এমন দেখাচ্ছে:
এখন, আপনি যখন পূর্বাবস্থায় ফেরাবেন, প্রথম জিনিসটি পূর্বাবস্থায় ফেরা হয়। আপনার মূল স্ট্যাকের ফলাফল (এবং দস্তাবেজ স্টেট):
যদি আপনি পূর্বাবস্থায়িত ক্রমটি ভাঙ্গার জন্য কোনও পরিবর্তনকারী কমান্ড করেন তবে সেই কমান্ডটি পূর্বাবস্থার পরে যুক্ত করা হবে এবং এরপরে প্রথমে এটি পূর্বে বাতিল করা হবে। ধরা যাক আপনি আঘাতের পরিবর্তে "বার" এর পিছনে পিছনে গতিতে ব্যর্থ হয়েছেন C-f। তাহলে তুমি হত
এটি অ্যাডিং / পুনরায় অ্যাডিংয়ের বিজ্ঞাপনের অন্তর্ভুক্ত। এটি ব্যবহার করতে কিছুটা সময় লাগে তবে এটি ইমাকসকে একটি অত্যন্ত নমনীয় এবং শক্তিশালী পূর্বাবস্থায় ফিরিয়ে আনার প্রক্রিয়া দেয়।
পূর্বাবস্থা: C-_
পূর্বাবস্থায় ফিরে যাওয়ার পরে: C-g C-_
C-_ পুনরায় পূর্বাবস্থায় ফিরিয়ে আনতে একাধিকবার টাইপ করুন C-_ ইমাক্স কমান্ডটি একাধিকবার পুনরায় করতে, আপনার কমান্ডটি কার্যকর করুন C-xzএবং তারপরে কমান্ডটি পুনর্বার করতে অনেক বার টাইপ করুন z(আপনি যখন ম্যাক্রোতে একাধিকবার এক্সিকিউট করতে চান আকর্ষণীয়)
C-u
উদাহরণস্বরূপ C-u 8 *
(আটটি * ক্যারেট যেখানে সন্নিবেশ করান) ব্যবহার করতে পারেন ) সুতরাং আপনি এক্স পদক্ষেপগুলি C-u x C-_
পূর্বাবস্থায় ফেলার জন্য ব্যবহার করতে পারেন ।
C-x e
), আপনি e
যত তাড়াতাড়ি আবার এটি প্রয়োগ করতে হবে যতবার চাপতে পারেন ।
C-/
এবং C-x u
বিকল্পগুলি পূর্বাবস্থায়িত করে কী-র বাইন্ডিংগুলি সমান C-_
। আমি C-/
এটি পছন্দ করি যেহেতু এটি আঘাত করা সহজ।
C-g C-_
"পূর্বাবস্থার পরে আবার হবে", এটি প্রথমবার আপনি সংমিশ্রণটি আঘাত করলে তা প্রয়োগ হয়। এর পরে, ছাড়া আপনার পূর্বাবস্থার কীটি পুনরাবৃত্তি করুন C-g
। পূর্বাবস্থায় ফিরে আসার পরে তিনবার পুনরায় করতে টাইপ করুন C-g C-_ C-_ C-_
। আপনি যদি টাইপ করেন তবে আপনি C-g C-_ C-g C-_ C-g C-_
আবার পূর্বাবস্থায় ফিরে
C-/
C-/
C-/
C-g
C-/
C-g
C-/
C-/
। নোট যে C-g
পুনরাবৃত্তি হয় না।C-g
C-/
C-g
C-/
C-/
আপনি যদি আপনার শেষ পূর্বাবস্থার C-g
পূর্বে পূর্বাবস্থার আদেশটি থেকে কোনও কী (যদি অক্ষরগুলি টাইপ করে বা কেবল কার্সারটি সরান) চাপেন তবে আপনার পরবর্তী পূর্ববর্তী / পূর্বাবস্থার পূর্বে টাইপ করার দরকার নেই । C-g
হিট করার জন্য একটি নিরাপদ কী যা এটি নিজে থেকে কিছুই করে না, তবে আপনার পূর্বাবস্থায়িত ক্রমের সমাপ্তির সিগন্যাল করার জন্য একটি নন-পূর্বাবস্থায়িত কী হিসাবে গণ্য। অন্য কমান্ড টিপানো যেমন C-f
কাজ করে; এটা ঠিক যে এটি আপনার যেখানে থেকে কার্সারটি সরিয়ে নিয়েছিল।
আপনি যদি হিট করেন C-g
বা অন্য কোনও কমান্ড যখন আপনি বোঝাতে চেয়েছিলেন না, এবং আপনি এখন ভুল দিকে পূর্বাবস্থায় ফেরাচ্ছেন, কেবল C-g
আপনার দিকটি আবার বিপরীত করতে আঘাত করুন । আপনি চাইলে পূর্বাবস্থায় ফিরে যাওয়ার আগে আপনার দুর্ঘটনাজনিত রেডো এবং পূর্বাবস্থায় ফিরে যেতে হবে তবে আপনি যদি কেবল আঘাত C-/
করতে থাকেন তবে শেষ পর্যন্ত আপনি যে রাজ্যে চান সেখানে পৌঁছে যাবেন। বাস্তবে, বাফারটি যে কোনও রাজ্যে ছিল সেগুলি পৌঁছনীয়, যদি আপনি C-g
একবার আঘাত করেন এবং তারপরে C-/
পর্যাপ্ত সময় টিপুন ।
এর জন্য বিকল্প শর্টকাট undo
, ব্যতীত অন্য C-/
হয় C-_
, C-x u
এবং M-x
undo
।
ইমাক্সের পূর্বাবস্থায় ফিরে আসা সিস্টেম সম্পর্কে আরও তথ্যের জন্য ইমাস ম্যানুয়ালটিতে পূর্বাবস্থা দেখুন See
যারা আরও সাধারণ পূর্বাবস্থায় / পুনরায় কার্যকারিতা পেতে চান তাদের জন্য কেউ লিখেছেন undo-tree.el
। এটি নন-ইম্যাকসকে পূর্বাবস্থায় ফিরিয়ে আনার চেহারা সরবরাহ করে তবে পূর্বাবস্থায় ফিরিয়ে আনা ইতিহাসের পুরো 'ট্রি'তে অ্যাক্সেস সরবরাহ করে।
আমি ইমাক্সের অন্তর্নির্মিত পূর্বাবস্থায় থাকা সিস্টেমগুলি পছন্দ করি তবে এই প্যাকেজটি খুব স্বজ্ঞাত বলে মনে করি।
ফাইলটি নিজে থেকেই মন্তব্যটি এখানে:
ইমাসের একটি শক্তিশালী পূর্বাবস্থা সিস্টেম রয়েছে। বেশিরভাগ সফ্টওয়্যারের স্ট্যান্ডার্ড আন্ডো / রিডো সিস্টেমের বিপরীতে, এটি আপনাকে কোনও বাফারের অতীত অবস্থা পুনরুদ্ধার করতে দেয় (যেখানে আপনি পূর্বাবস্থায় ফিরে যাওয়ার সাথে সাথে স্ট্যান্ডার্ড আন্ডো / রিডো সিস্টেম অতীতের রাজ্যগুলি হারাতে পারে)। যাইহোক, এই শক্তিটি দামে আসে: অনেক লোক Emacs এর পূর্বাভঙ্গ সিস্টেমটিকে বিভ্রান্তিকর এবং ব্যবহার করা কঠিন বলে মনে করে এমন অনেকগুলি প্যাকেজ তৈরি করে যা এটি কম শক্তিশালী তবে আরও স্বজ্ঞাত পূর্বাবস্থায় / পুনরায় সিস্টেমের সাথে প্রতিস্থাপন করে।
স্ট্যান্ডার্ড পূর্বাবস্থায় / পূর্বাবস্থায় থাকা ডেটা হ্রাস এবং ইমাক্সের পূর্বাবস্থায় বিভ্রান্তি, পূর্বাবস্থার ইতিহাসকে পরিবর্তনের রৈখিক ধারা হিসাবে বিবেচনা করার চেষ্টা থেকে শুরু করে। এটা না। এই প্যাকেজ দ্বারা সরবরাহিত 'পূর্বাবস্থায় বৃক্ষ-মোড' ইম্যাকস'কে পূর্বাবস্থায় ফিরিয়ে আনবে এমন একটি সিস্টেমের সাথে পূর্বাবস্থায় ইতিহাসকে কী হিসাবে বিবেচনা করে: পরিবর্তনের একটি শাখা গাছ। এই সাধারণ ধারণাটি কোনও ইতিহাসকে না হারাতে পাওয়ার সাথে স্ট্যান্ডার্ড পূর্বাবস্থায় / পুনরায় সিস্টেমের আরও স্বজ্ঞাত আচরণকে একত্রিত করতে দেয়। একটি যুক্ত পার্শ্ব বোনাস হ'ল ইম্যাকস ইতিহাস ত্যাগ করার আগে আরও কিছু পরিবর্তন আরও জমা করার অনুমতি দিয়ে ইতিহাসকে পূর্বাবস্থায় ফিরিয়ে আনা যায়।
পুনরায় করার জন্য একটি পূর্বাবস্থায় ফিরে যাওয়া গাছ থেকে বিরত থাকুন !
অনেক জনপ্রিয় "স্টার্টার কিটস" (উপস্থাপিকা, পুরসেল, স্পেসম্যাকস) পূর্বাবস্থায় গাছের সাথে বান্ডিল হয়ে আসে। সর্বাধিক (সমস্ত?) এমনকি এটি স্বতঃ-সক্ষম করে। উল্লিখিত হিসাবে, পূর্বাবস্থায় ফেরা গাছ পূর্বাবস্থায়িত / পুনরায় গাছটি কল্পনা এবং অনুসরণ করার একটি সহজ উপায়। প্রিলিওড এটিকে কী-জ্যাকেট ( uu
) দেয় এবং তাও দেয় C-x u
।
সমস্যা হল: পূর্বাবস্থা-ট্রি টিপে, Emacs 'ডিফল্ট এবং সুপরিচিত জন্য বাঁধাই ধ্বংস বলে মনে হয় পুনরায় :C-g C-/
।
পরিবর্তে, আপনি পূর্বাবস্থা / পুনরায় করার জন্য এই প্রতিসম কী ব্যবহার করতে পারেন :
C-/ undo
C-S-/ redo
এগুলি দরকারী যেহেতু কখনও কখনও আপনি ভিজুয়ালাইজারটি না খুলে দ্রুত আবার করতে চান ।
আমি খুঁজে redo.el
extremly কুশলী বেঁধে এটা CSz থেকে "স্বাভাবিক" পূর্বাবস্থা / পুনরায় করুন করছেন জন্য, এবং আমি সাধারণত এবং এই মত Cz করার পূর্বাবস্থা:
(when (require 'redo nil 'noerror)
(global-set-key (kbd "C-S-z") 'redo))
(global-set-key (kbd "C-z") 'undo)
কেবল ফাইলটি ডাউনলোড করুন, এটি আপনার লিস্প-পাথে রাখুন এবং উপরেরটি আপনারটিতে পেস্ট করুন .emacs
।
ডিফল্টরূপে, ইমাসগুলিতে পুনরায় করতে Cg টিপতে হবে, তারপরে পূর্বাবস্থায় ফিরে আসুন।
তবে এটি পুনরায় কমান্ড বাস্তবায়নের জন্য অন্তর্নির্মিত পূর্বাবস্থায় ফিরে আসা সম্ভব।
প্যাকেজ পূর্বাবস্থা-Fu , ব্যবহার গিয়ে Emacs বিল্ট-ইন পূর্বাবস্থা কার্যকারিতা উভয় পূর্বাবস্থা এবং পুনরায় করুন এক্সপোজ করতে।