ইমাসে কি (পুনর্বার-শেষ-কমান্ড) আছে?


143

প্রায়শই, আমি এপ্রোপস এবং ডক্স খনন করেছি কেবলমাত্র হাতের কাজটিতে ফিরে যেতে কেবল নীচের মতো কিছু খুঁজছি:

(পুনরাবৃত্তি-গত-কমান্ড)

সর্বশেষ সি-বা এম-কমান্ডটি সবেমাত্র সম্পাদন করেছি (একটি এফএন কীতে প্রত্যাবর্তন করতে)

বা কখনও কখনও সম্পর্কিত:

(বর্ণনা-শেষ ফাংশন)

আমি কী কী স্ট্রোকটি ভুল করেই প্রকাশ করেছি, যার ফলস্বরূপ আমি আমার ব্যাগের কৌশলগুলিতে যুক্ত করতে চাই। বর্ণনা-কীটি নিকটে, তবে আমি কী টাইপ করেছি তা জেনে রাখা দরকার।

আমি কি কেবল আমার বিশ্বস্ত পার্শ্বদিক থেকে খুব বেশি জিজ্ঞাসা করছি?


1
Cx z (repeat)এবং Cx Mz (repeat-complex-command)। এছাড়াও দেখুন (repeat-matching-complex-command)
হাটসেপসুট

উত্তর:


62

' বর্ণনা-শেষ ফাংশন ' শ্রদ্ধা সহ :

এখানে একটি ভেরিয়েবল রয়েছে last-commandযা আপনার শেষ কাজটির প্রতীক প্রতিনিধি হিসাবে সেট করা আছে। সুতরাং এই এলিস্প স্নিপেট - (describe-function last-command)- অবিলম্বে ঘটে যাওয়া জিনিসটির জন্য ডকুমেন্টেশন উপস্থিত করা উচিত।

আপনি যদি একটি তুচ্ছ কাজ করতে পারে তাই describe-last-functionতাই মত

(defun describe-last-function() 
  (interactive) 
  (describe-function last-command))

এই এলিসপটিকে .emacsসমতুল্য রাখুন এবং আপনার কাছে একটি এমএক্স বর্ণনা-শেষ-ফাংশন থাকবে

আপনার আগ্রহী জিনিসটির পরে আপনি যদি কয়েকটি কী বাজে বা ব্যাক করে ফেলেছেন যা সর্বশেষ-আদেশটি পরিবর্তন করেছে তবে command-historyফাংশনটি আগ্রহী হতে পারে। আপনি এটি এমএক্স কমান্ড-ইতিহাসের মাধ্যমে পেতে পারেন


168

পুনরাবৃত্তি কার্যকারিতা repeat.elইমাস লিসপ প্যাকেজ দ্বারা সরবরাহ করা হয় , যা মানক ইম্যাক্স বিতরণের অন্তর্ভুক্ত। থেকে repeat.elএর ডকুমেন্টেশন:

এই প্যাকেজটি একটি কমান্ডকে সংজ্ঞায়িত করে যা পূর্ববর্তী কমান্ডটির পুনরাবৃত্তি করে, তার যাবতীয় যুক্তি সহ যা কিছু ছিল তা। এই কমান্ডটি Cx z কী-এর সাথে সংযুক্ত। পূর্ববর্তী কমান্ডটি একবারে পুনরাবৃত্তি করতে Cx z টাইপ করুন। এরপরে দ্বিতীয় বার এটির পুনরাবৃত্তি করতে কেবল z লিখুন। বারবার z টাইপ করে, আপনি বার বার আদেশটি পুনরাবৃত্তি করতে পারেন।

পুনরাবৃত্তি কমান্ড সম্পর্কে অতিরিক্ত তথ্য দেখতে C-h F repeat RETইম্যাক্সের মধ্যে টাইপ করুন ।


160

শেষ আদেশটি পুনরাবৃত্তি করুন

C-xz

একবার আপনি এটি টিপলে, কেবল z তারপরে চাপুন এবং এটি পুনরাবৃত্তি হবে ( C-xআবার চাপ না দিয়ে)।


হুবহু আমি এটি কি প্রত্যাশা করেছিল।
বসন্ত গণেশ কে

81

হ্যাঁ, একটি পুনরাবৃত্তি আদেশ আছে। এটি বলা হয় repeat:

  • আপনি কমান্ডগুলি এর সাথে পুনরাবৃত্তি করতে পারেন এবং পুনরাবৃত্তি করতে C-x zআঘাত zকরতে পারেন।

কিছুটা হতবাক কেউ উল্লেখ repeat-complex-commandকরেনি, কী বাঁধাই থেকে পাওয়া যায় C-x ESC ESC


2
বারবার-জটিল-কমান্ড পূর্ববর্তী যুক্তি পুনরাবৃত্তি করে বাদে এমএক্স এমপির অনুরূপ।
ইউ

5
এছাড়াও চালু C-x M-:( M-:স্মৃতিসৌধ : যেমন তবে ইতিমধ্যে আপনার জন্য ভরাট এলিস্পের মত প্রকাশের সাথে)।
ফিল্ডস

6
হ্যাঁ, সত্যিই মর্মাহত । স্বীকৃত উত্তরটি এখানে সেরা উত্তর নয় , আইএমও (তবে ওপি স্পষ্টতই মনে করে যে এটি তার প্রশ্নের সাথে সাদৃশ্যপূর্ণ)। আমার কাছে, এই উত্তরটি লিখিত প্রশ্নটি যা চেয়েছিল তার নিকটতম (শেষ আদেশটি পুনরাবৃত্তি করুন)। এবং প্রদত্ত সম্ভাবনাগুলি repeat.el(যা উপস্থাপিত হয় C-x z z z...) দ্বিতীয় নিকটতম। দ্বিতীয় প্রশ্নটি জিজ্ঞাসা করা হয়েছে, কী কী স্ট্রোকগুলি সর্বশেষে আঘাত হয়েছিল, তার সেরা উত্তরটি C-h l( view-lossage)। describe-last-commandকমান্ডের জন্য আইএমএইচও-র ব্যবহার খুব কম ।
ড্র হয়েছে

আপনি C-x M-:কীবোর্ড ম্যাক্রোর অংশ হিসাবেও ব্যবহার করতে পারেন যা সহজেই কার্যকর হতে পারে। ডিফল্ট repeat-complex-commandবাইন্ডিংগুলি বার বার টাইপ করার জন্য কিছুটা জটিল।
পুনরুদ্ধারগুলি

24

এছাড়াও, M-x view-lossageআপনি প্রবেশ করেছেন এমন সর্বশেষ শত (?) কীস্ট্রোকগুলি আপনাকে দেখায়। সুতরাং, আপনি কমান্ডটি দেখতে সক্ষম হবেন। আমি এখনই এটি M-x command-historyব্যবহার করেছি যা আমি C-h wএখনই ব্যবহার করব এটি সম্পর্কে আমার মনে হয় used


18

আমি সত্যিই নিশ্চিত নই, তবে সম্ভবত আপনি এটির জন্য অনুসন্ধান করছেন?

কমান্ড C-xz( repeat) একটি Emacs কমান্ডকে বহুবার পুনরুক্ত করার জন্য অন্য উপায় সরবরাহ করে। এই কমান্ডটি পূর্ববর্তী ইমাস কমান্ডটি পুনরাবৃত্তি করেছিল, যা যা ছিল তা। একটি কমান্ড পুনরাবৃত্তি একই যুক্তি ব্যবহার করে যা আগে ব্যবহৃত হয়েছিল; এটি প্রতিবার নতুন যুক্তি পড়ে না।

ইমাস ম্যানুয়াল, 8.11 একটি আদেশ পুনরাবৃত্তি করছে


2
এবং জোহানেস স্কাউব দ্বারা উল্লিখিত হিসাবে, কেবল zতার নিজের পরবর্তী প্রেসগুলি পুনরাবৃত্তি চালিয়ে যাবে।
ফিল্ম

9

এটিও সাহায্য করতে পারে ... ইম্যাক্স সাহায্যের ভারব্যাটিম থেকে:

C-x M-ESC runs the command repeat-complex-command
  which is an interactive compiled Lisp function in `simple.el'.
It is bound to <again>, <redo>, C-x M-:, C-x M-ESC.
(repeat-complex-command ARG)

Edit and re-evaluate last complex command, or ARGth from last.
A complex command is one which used the minibuffer.
The command is placed in the minibuffer as a Lisp form for editing.
The result is executed, repeating the command as changed.
If the command has been changed or is not the most recent previous command
it is added to the front of the command history.
You can use the minibuffer history commands M-n and M-p
to get different commands to edit and resubmit.

4

ব্যক্তিগতভাবে আমি সেবাস্তিয়ানের ধারণাটি দরকারী বলে মনে করি। এখানে একটি কাজের সংস্করণ

(global-set-key "\C-r" #'(lambda () (interactive)
                                 (eval (car command-history))))

2
এটি isearchএবং isearch-backwardগুরুত্বপূর্ণ নেভিগেশন কমান্ডগুলি বিবেচনা করে এবং পূর্ববর্তীটি <kbd> Cr </kbd> ডিফল্টরূপে আবদ্ধ, সম্ভবত পুনরাবৃত্তি-কমান্ডের জন্য আরও ভাল বাঁধাই পাওয়া যেতে পারে। একটি ম্যাকের জন্য, আমি কমান্ড (সুপার) -ওয়াইকে পরামর্শ দেব, যেহেতু কিছু অ্যাপ্লিকেশন ইতিমধ্যে এটি 'পূর্বাবস্থায়িত' এর বিপরীতে হিসাবে ব্যবহারের একটি কনভেনশন করেছে।
ব্রিগেড ম্যাকডোনেল

0

এটি পুরানো, তবে আমি যখন ইমাস প্রম্পটে টাইপ করা শেষ আদেশটি পুনরুদ্ধার করতে চাইছিলাম তখন গুগল প্রথমে এটি পোস্ট করে। এই উত্তরগুলির কোনওটিই আমার পক্ষে কার্যকর হয়নি তাই আমি সিদ্ধান্ত নিলাম তাদের জন্য যারা আমার এই পরে হোঁচট খেয়ে যেতে পারে তাদের জন্য আমার দু'টি সেন্ট রাখব। আমি Portacle ব্যবহার করছি, কিন্তু আমি খুঁজে পাওয়া যায় নি আমি খুঁজছেন ছিল এখানে তাই আমি বিভিন্ন স্থাপনার সঙ্গে কাজ করার এটা জেনেরিক যথেষ্ট আশা করছি। যাই হোক, কি আমার জন্য কাজ ব্যবহার করছে C-↑এবং C-↓ইতিহাস মাধ্যমে চক্র। পাশাপাশি ব্যবহার M-pএবং M-nকাজ করেছেন, তবে আমি তীরগুলি ব্যবহার করতে পছন্দ করি যেহেতু আমি ব্যাশকে বেশ খানিকটা ব্যবহার করি।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.