সম্পাদনার জন্য আমি কীভাবে একটি সংখ্যাযুক্ত ইতিহাস কমান্ডটি স্মরণ করতে পারি?


17

আমি প্রায়শই এর সাথে পরিবর্তনগুলি অনুসন্ধান করি history | grep 'string'

আমি ইতিহাসের কমান্ডের একটি তালিকা পেয়েছি, ইতিহাসের লাইন নম্বর সহ), যেমন

history | grep 'git'

  755  git status
 1535  git push origin master
 1570  git merge origin/one-146
 1667  git reset --hard origin/master

আমি এখন একবারে কমান্ডটি পুনরায় স্মরণ ও সম্পাদন করতে পারি !nnn, উদাহরণস্বরূপ:

!755
git status
# On branch master
nothing to commit, working directory clean

আমার প্রশ্নটি: আমি কীভাবে একটি সংখ্যাযুক্ত ইতিহাস কমান্ডটি প্রত্যাহার করতে পারি এবং সম্পাদনা করার জন্য কমান্ডস লাইনে থাকতে পারি এবং ঠিক ততক্ষণে 'যেমন রয়েছে' তেমন কার্যকর !করতে পারি না, যাতে আমি প্রাইসিং রিটার্নের বেশ কয়েকটি জিনিস পরিবর্তন করতে পারি?

উত্তর:


12

ব্যবহারের পরে - আমি এর থেকে অন্য পদ্ধতির অবলম্বন করেছি ![line-number]:p

এটি বিবৃতিটি মুদ্রণ করে এবং এটি ইতিহাসে যুক্ত করে তবে বাস্তবে এটি কার্যকর করে না। আমি তারপরে তীরটি তৈরি করেছি এবং এটি পছন্দসইভাবে পরিবর্তন করব।

কিছু পাঠ্যের উপর ভিত্তি করে ইতিহাস কমান্ডগুলি স্মরণ করার জন্য আমি এটি আমার hgওরফে ( alias hg='history | grep ') এর সাথে একত্রিত করি ।

উদাহরণ:

$ hg checkout

17140   git checkout README.rdoc
17143   git checkout master
17201   git checkout README.rdoc
17204   git checkout master
17923   git checkout .bashrc
18151   git checkout v311

আমি এটি ctrl- r(ইতিহাসের বিপরীত বিপরীতে) ছাড়াও ব্যবহার করি কারণ মাঝে মাঝে আমি কেবল 1 লাইনে আউটপুট না দিয়ে একটি প্রদত্ত স্ট্রিংয়ের জন্য সমস্ত সম্ভাবনার তাত্ক্ষণিক তালিকা দেখতে পছন্দ করি ctrl- যা rদেখায়। পরে hg [string]আমি তখন কি করবেন ![line-number]search_stringহিসেবে hg checkoutউপরে দেখানো।


8

আপনি যদি histverify বিকল্পটি সেট করেন , যেমন

shopt -s histverify

তারপরে সমস্ত ইতিহাসের বিকল্পগুলি তাত্ক্ষণিকভাবে কার্যকর করার পরিবর্তে সম্পাদনার জন্য আনা হয়। কমান্ডটি কার্যকর করতে Enterটাইপ !755করার পরে আপনাকে একবারের পরিবর্তে দুবার চাপতে হবে ।

আপনি ইতিহাস তালিকার সাথে স্বেচ্ছাসেবী পাঠ্যটি পুশ করতে পারেন history -sfc -nlনির্দিষ্ট ইতিহাসের এন্ট্রি তালিকা করতে এটির সাথে একত্রিত করুন ।

history -s "$(fc -nl 755 755)"

তারপরে Upএখন সর্বশেষতম ইতিহাসের প্রবেশ কী তা স্মরণে রাখতে টিপুন ।


6

আপনি ইতিহাস ব্যবহার করে আবার অনুসন্ধান করতে পারেন Ctrl +R । ইতিহাসের এন্ট্রি দীর্ঘকাল ধরে সম্পাদনা করতে কমান্ডের কিছু অংশ অনুলিপি করে আটকানোর জন্য মাউসটি (কীবোর্ড নয়, এটি অনুসন্ধান বন্ধ করে দেয়) ব্যবহার করুন।

@Rijsg মন্তব্য হিসাবে, আপনি তারপরে থামাতে এবং সম্পাদনা শুরু করতে (বাম এবং ডান) তীর বা সমমানের কীগুলি ব্যবহার করতে পারেন।


2
যে কোনও তীর কী বা সমমানের কমান্ড ( Ctrl-aউদাহরণস্বরূপ) কমান্ড প্রম্পটে বর্তমান ইতিহাসের এন্ট্রি ছাড়াই অনুসন্ধান বন্ধ করবে, এটি কার্যকর না করেই। @ মিশেল যা চায় তার উপর নির্ভর করে এটি যথেষ্ট বা নাও হতে পারে।
এনজেএসজি

2

আপনি যদি কমান্ড লাইনে vi সম্পাদক ব্যবহার করতে আপনার .bashrc ফাইলটি কনফিগার করেন তবে এটি কমান্ড লাইনের সম্পাদনাগুলিকে এত কম জটিল করে তুলবে।

1 ম, একবার "set -o vi" সক্ষম হয়ে গেলে , আপনি কেবল "<esc> কে" টিপুন , তারপরে ইতিহাসের ফাইলটি উপরে যেতে "কে" টিপুন , যদি আপনি কোনও প্রবেশপথ অতিক্রম করেন, "জ" ব্যবহার করুন নিচে যাও

দ্রষ্টব্য: vi ব্যবহার করার সময়, দুটি মোড থাকে: কমান্ড মোডে প্রবেশ করতে কমান্ড এবং সম্পাদনা ESCAPE KEY ONCE চাপুন, তারপরে a, A, i, I ইত্যাদি etc.োকান।

Vi তে সরল কার্সার প্যাড: বাম = এইচ, ডাউন = জে, আপ = কে, ডান = এল http://linuxmeister.net/vi/vi-Summary.jpg

এই কাজটি করার জন্য প্রয়োজনীয় সমস্ত এন্ট্রি আমি এখানে যুক্ত করেছি: http://linuxmeister.net/Notes/bashrc-simple.html

সুতরাং, উপরের খুব সহায়ক তথ্যের ভিত্তিতে, আমি "ইতিহাস" ব্যবহার করতে সক্ষম হয়েছি এবং এটি সম্পাদন ব্যতিরেকে "ইতিহাস" থেকে একটি লাইন পুনরায় কল করতে সক্ষম হয়েছি। (এই পোস্টের জন্য আপনাকে ধন্যবাদ!)

যদি শপটি তালিকাভুক্ত হয় এবং হিস্টওয়ার্ফাই "বন্ধ" হয়! অবিলম্বে বন্ধ হবে,

আপনি যদি আপনার .bashrc- এ যোগ করেছেন, বা টাইপ করেছেন: শপট-হিস্টওয়ার্ফাই , তবে একটি! একটি সম্পাদনার অনুমতি দেয়, উদাহরণস্বরূপ:

history
    1  more .bashrc
    2  history
    3  shopt
    4  . ./.bashrc
    5  shopt | grep hist
    6  history
    7  alias
    8  history
    9  shopt
   10  history

->! 5

যখন আমি আঘাত করি! 5 নিম্নলিখিত কমান্ডটি উপস্থিত হয়, কিন্তু কার্যকর হয় না

### যদি হিস্টওয়ার্ফাইটি "চালু" থাকে।

shopt | grep hist
cmdhist         on
histappend      on
histreedit      off
histverify      on
lithist         off

মনে রাখবেন যে লিনাস এবং রিচার্ড ইউনিক্সের সুবিধা নিতে লিনাক্স এবং জিএনইউ সরঞ্জাম তৈরি করেছিল। ইউআইআইএক্স এবং লিনাক্সের প্রতিটি বিতরণে ভিআই সম্পাদক (বিল জয় দ্বারা নির্মিত) মাস্টার করার অন্যতম সেরা সরঞ্জাম।

অন্যান্য কমান্ড লাইনের সম্পাদকদের সমস্ত লোড করা প্রয়োজন এবং অতিরিক্ত সফ্টওয়্যার প্রয়োজন। লিনাক্সে জিইউআই ব্যবহার করা (ফায়ারফক্স, থান্ডারবার্ড এবং ওপেনঅফিস ব্যতীত) আপনার ডিজেল 4x4 কে 1968 ভিডব্লিউ বিটলের সাথে বেঁধে রাখার মতো ... এটি কার্যকর হবে, তবে এটি নিশ্চিত হওয়ার কোনও অর্থ হয় না।

কার্নিগান একটি জিইউআই সম্পর্কে যা বলেছিল তা মনে রাখবেন, "আপনি যা দেখছেন তা সবই পাবেন"।


-1
echo !number

তারপরে আপ-তীরটি চাপুন, শব্দটি সরিয়ে ফেলুন echoএবং বাকীটি সম্পাদনা করুন; এক্সিকিউট করতে enter টিপুন।

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