পূর্ববর্তী কমান্ডটিকে (বাস্তবায়ন ব্যতীত) কীভাবে পরিবর্তন করতে হবে তা পুনরুদ্ধার করবেন?


14

চালাকি না করে আমি শেষ কমান্ডটি পেতে পারি সেই কৌশলটি আমি মনে করতে পারি না:

আসুন বলি যে আমি উপরের তীর কী টিপতে এবং কমান্ডটি সংশোধন করার সময় কমান্ডটি অ্যাক্সেস করতে সক্ষম হতে চাই! সুতরাং কমান্ডটি কল করার কৌশলটি কী, এটি কমান্ড লাইনে প্রদর্শিত হবে তবে কার্যকর করা হয়নি এবং ততক্ষণে তীর কী দ্বারা অ্যাক্সেসযোগ্য?

আমি প্রতিধ্বনি দিয়ে চেষ্টা করেছি, তবে কমান্ডের আগে আমার একটি প্রতিধ্বনি রয়েছে, কীভাবে এটি সঠিকভাবে করা যায় তা আমার মনে নেই।


4
যদি আমি আপনার অনুরোধটি সঠিকভাবে বুঝতে পারি তবে সম্ভবত ": পি" এর মতো একটি প্রত্যয় চেষ্টা করুন! "1255: পি"
থিওফ্রাস্টাস

@ থিফ্রাস্টাস হ্যাঁ, আমি অবশ্যই এটি ভুলে গিয়েছিলাম: পি অংশ এবং এটি খুঁজে পেতে গুগলে সঠিক কীওয়ার্ড পাওয়া যায়নি বলে মনে করি ... ধন্যবাদ বন্ধুরা।
আর্টুরাস এম

উত্তর:


21
!1255:p

এই করবে

!ইতিহাস রিকাল
1255হ'ল লাইন নম্বর
:pপ্রিন্ট হয় তবে কার্যকর হয় না

তারপরে আপনি থের পূর্ববর্তী (অব্যক্ত) কমান্ডটি ফিরে পেতে আপ-তীর ব্যবহার করতে পারেন এবং আপনার প্রয়োজন অনুযায়ী এটি পরিবর্তন করতে পারেন।

আমি প্রায়শই hgএটির সাথে একত্রিত করি ("ইতিহাস গ্রেপ") - আমার প্রিয় উপন্যাস।

$ alias hg  # Maybe use hgr instead if you are a Mercurial CLI user.
alias hg='history | tail -200 | grep -i'

এটি সাম্প্রতিক ইতিহাসের লাইনে পাঠ্য অনুসন্ধান করে, ক্ষেত্রে নির্বিশেষে এবং এইভাবে ব্যবহৃত হয়:

যখন আমি একটি নির্দিষ্ট ফাইল সম্পাদনা করতে সাম্প্রতিক vi কমান্ডগুলি সন্ধান করতে চাই এবং তারপরে আমি একই ফাইলটি সম্পাদনা করতে তবে তাদের মধ্যে একটি নতুন ফাইল এক্সটেনশন সহ পুনরায় ব্যবহার করতে চাই।

$ hg variables
 6153  vi Variables/user-extensions.js 
 6176  vi Variables/user-extensions.js 
 6178  vi Variables/user-extensions.js 
 6190  vi Variables/user-extensions.js 
 6230  hg variables
$ # Notice the difference in case with V and v is ignored
$ !6190:p
vi Variables/user-extensions.js 
$ ["up-arrow"]
$ vi Variables/user-extensions.[now change .js to .html]

আমি hgaআমার সম্পূর্ণ ইতিহাস অনুসন্ধান করতে ("ইতিহাস গ্রেপ অল" ) ও সংজ্ঞায়িত করেছি:

$ alias hga
alias hga='history | grep -i'

তবে আমি এটি বেশি ব্যবহার করি না কারণ আমার ইতিহাসটি (ইচ্ছাকৃতভাবে) খুব বড় এবং আমি খুব বেশি আউটপুট পাই যা পরে আমার টার্মিনালে পৃষ্ঠাগুলি পিছনে স্ক্রোলিংকে প্রভাবিত করে।


2
লক্ষ্য করুন hgএছাড়াও Mercurial এর CLI
ইউএসফ্রেন্ডস

1
ভাল নোট। উত্তর যুক্ত করা হয়েছে।
মাইকেল ডুরান্ট

12

টার্মিনালটিতে হিটিং Ctrl+ R(যা ইম্যান্সের বিপরীত-বর্ধনশীল-অনুসন্ধান কী বাইন্ডিং মন্তব্যগুলিতে @gnp হিসাবে চালিত হয়েছে) আপনাকে নির্দিষ্ট কমান্ডের জন্য ইতিহাসে অনুসন্ধান করতে দেয়। কমান্ডটি প্রদর্শিত হবে এবং কার্যকর করার আগে সম্পাদনা করা যেতে পারে। আপনি এরকম কিছু দেখতে পাবেন:

এখানে চিত্র বর্ণনা লিখুন

সূত্র


1
ধন্যবাদ! আসলেই আমার প্রশ্নের সরাসরি উত্তর নয়, তবে আমি এটি জানতাম না এবং আমি এটি সত্যিই দরকারী বলে মনে করি। আপনাকে অনেক ধন্যবাদ!
আরতুরাস এম

1
এছাড়াও লক্ষণীয়, Ctrl + R হ'ল ইম্যাক্সের বিপরীত-বৃদ্ধি-অনুসন্ধান। অনেকগুলি এমএএমএস কি-বাইন্ডিংগুলি জিএনইউ সরঞ্জামগুলি জুড়ে কাজ করে: Ctrl + A, Ctrl + E, Ctrl + K, Ctrl + Y এবং অন্যান্য।
GnP

@gnp তথ্যের জন্য ধন্যবাদ, আমি এটি জানতাম না।
হামজা আব্বাদ

দুটি চাবি জিনিস শিখার পরে ctrl-r দিয়ে স্বাচ্ছন্দ্য বোধ করতে আমাকে দীর্ঘ সময় নিয়েছে। 1. টাইপ করার সাথে সাথে আউটপুটটিকে উপেক্ষা করুন। 2. আপনি যে কমান্ডটি চান তা স্বতন্ত্রভাবে টাইপ করতে যথেষ্ট জানেন তা নিশ্চিত করুন
মাইকেল ডুরান্ট

7

fcকমান্ড আপনাকে কি চায়

fc -l <number> এই সংখ্যাটির চারপাশে কমান্ডের ইতিহাস তালিকাবদ্ধ করবে

fc <number>কমান্ড লাইন এন্ট্রিটি খুলবে vim(বা আপনার ডিফল্ট সম্পাদক হিসাবে আমি মনে করি), যাতে আপনি এটি সম্পাদনা করতে পারেন এবং :wqএটি উপরের তীর সহ আপনার কাছে উপলভ্য হবে।


7

বাশে Ctl+alt+eশেল প্রসারণ ঘটে, সুতরাং টাইপ করে !1255এবং এই সংমিশ্রণটি চাপলে ইতিহাসের প্রবেশের সামগ্রীর সাথে বর্তমান লাইনটি পরিবর্তিত হবে 1255


উবুন্টুতে আমার জন্য এটি করেন নি
মাইকেল ডুরান্ট

@ মিশেলডুরান্ট, আমি কেবল 14.04 (কুবুন্টু) এ চেষ্টা করেছি এবং এটি আমার পক্ষে কাজ করে। এটি হিসাবে নথিভুক্ত করা man bashহয় shell-expand-line। জিনোম-টার্মিনালের জন্য একটি শর্টকাট সেট থাকতে পারে।
অ্যাডোনিস

@ অ্যাডোনিস আমি এটিকে কখনও জানতাম না, আপনাকে অনেক ধন্যবাদ, সত্যই আমি যা অনুরোধ করেছিলাম তা করে। এবং প্রকৃতপক্ষে আমি এই ফাংশন থেকে আরও ব্যবহারগুলি খুঁজে পেতে পারি। অসাধারণ! ধন্যবাদ!
আর্টুরাস এম

4

এক্স-এক্সিকিউটিভ (-l) এর পরিবর্তে তালিকা নির্দিষ্ট করার সময় আপনি fc কমান্ডটি ব্যবহার করতে চান

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