আমি বাশে একাধিক লাইন কমান্ডে পূর্ববর্তী লাইনগুলি কীভাবে সম্পাদনা করব?


24

কোনও কমান্ড প্রবেশ করার সময় যা বাশে একাধিক লাইন বিস্তৃত হয়, আমি কীভাবে পূর্ববর্তী লাইনগুলি সম্পাদনা করব? আমি জিনোম টার্মিনাল ব্যবহার করে একটি লিনাক্স মিন্ট (লিসা) ব্যবহারকারী।

উদাহরণস্বরূপ, আসুন আমি টাইপ করি:

$ echo "foo bar
> baz
>

এবং তারপরে যখন আমি কমান্ডের তৃতীয় লাইনটি টাইপ করতে চলেছি তখন হঠাৎ বুঝতে পারি আমি "foo" এবং "বার" পৃথক লাইনে থাকতে চাই। আমি কীভাবে "foo" এবং "বার" এর মধ্যে আমার কার্সারটি এমনভাবে প্রতিস্থাপন করব যে আমি এন্টার টিপতে এবং সেগুলি পৃথক লাইনে রেখে দিতে পারি?

(আপনি যেমন ভাবেন এটি সহজ নয় Up উপরের তীরটি কাজ করে না, তেমনি Ctrl-Pও করে না does সুতরাং দয়া করে পোস্ট দেওয়ার আগে চেষ্টা করে দেখুন! ধন্যবাদ!)


গৃহীত উত্তর বলে যে এর কোনও সমাধান নেই, তবে রয়েছে। নীচে
সিডোসবার

উত্তর:


16

দুর্ভাগ্যক্রমে, bashএটি টার্মিনালের উপর নির্ভর করে না। আপনার বিকল্পগুলি হ'ল:

  1. নিউলাইনগুলির পরিবর্তে সেমিকোলনগুলি ব্যবহার করুন, যদিও এরপরে আপনি একবারে স্ক্রিন লাইনটি সরাতে পারবেন না তবে অবশ্যই অক্ষর বা শব্দ গতি কমান্ড ব্যবহার করতে হবে। (অদ্ভুতভাবে, zshইতিহাস সম্পাদনা করার সময় কমপক্ষে আপনাকে কমপઉન્ડ কমান্ডের অভ্যন্তরে স্থানান্তর করতে দেয়, কেবলমাত্র বর্তমান কমান্ডের মধ্যে না Sometimes) কখনও কখনও fc(যা আপনাকে পূর্ববর্তী কমান্ডের সাহায্যে আপনার সম্পাদককে টস করে দেয়) যৌগিক আদেশগুলি হ্যান্ডেল করার সহজতম উপায়।

  2. আপনি যদি ব্যাশ ব্যবহার করছেন তবে নিম্নলিখিত কী সংমিশ্রণটি ব্যবহার করুন:

    ctrl x e

    এটি আপনার পাঠ্য সম্পাদককে ব্যবহার করার জন্য আপনি যে কমান্ডটি ব্যবহার করছেন তা খুলবে। ফাইলটি সংরক্ষণ করুন এবং প্রস্থান করুন। (আমি কমান্ড পাওয়া শেল Hater থেকে প্রেজেন্টেশন ।) Zsh ব্যবহারকারীদের এই বিকল্প


1
বাশ ম্যান পৃষ্ঠাটি ব্যাখ্যা করে যে কোন সম্পাদকটি ব্যবহৃত হবে তা কীভাবে পরিবর্তন করতে হয়: edit-and-execute-command (C-xC-e) - বর্তমান কমান্ড লাইনে একটি সম্পাদককে ডাকুন, এবং ফলাফলটি শেল কমান্ড হিসাবে কার্যকর করুন। বাশ সেই আদেশে সম্পাদক হিসাবে IS ভিসুয়াল, $ সম্পাদক এবং ইম্যাকসকে আহ্বান করার চেষ্টা করে।
ম্যাথু

সম্পাদক সমাধান না করেই একটি সমাধান রয়েছে।
সিডোসোর্ন

প্রযুক্তিগতভাবে এটি বাশ পর্যন্ত নয় - তবে "রিডলাইন" লাইব্রেরিতে যা ইনপুট পেতে ব্যাশ ব্যবহার করে।
খ্রিস্টান হেরেনজ

11

সমাধানটি হ'ল মাল্টি-লাইনটি সঠিক না হওয়া পর্যন্ত কোনও কমান্ড প্রবেশ করা উচিত নয়, কেবল টাইপ করুন: CtrlvCtrlj যখন আপনি পরবর্তী লাইনে যেতে চান। Metabএকটি শব্দ ফিরে যেতে।

সমাধান

@ রিচি এর উত্তরে ক্রেডিট


4

মজাদারভাবে যথেষ্ট, Ctrl+Cআপনি যা খুঁজছেন তা।

আপনি যখন চালু

$ echo "foo bar
> baz
>

শুধু টিপুন Ctrl+C(সম্পাদিত কমান্ড লাইন স্থগিত করবে) এবং টিপুন Up(পূর্ববর্তী ইতিহাস)। আপনার প্রম্পটটি হ'ল: (অনুপস্থিতিতে দ্রষ্টব্য>)

$ echo "foo bar
baz

এখন আপনি Left Rightএমনকি লাইন জাম্প দিয়ে ঘুরে আসতে পারেন ।

কেবল একটি কৌতুক আছে, অন্য লাইন যুক্ত করার জন্য আপনাকে অবশ্যই শেষ চরিত্রের সাথে থাকতে হবে, তাই বিদ্যমান লাইনগুলি সম্পাদন করতে ঘুরুন (শুরু করতে যান Ctrl+A) একটি প্রেস Enter যথেষ্ট হলে বা আরও শেষের Ctrl+Eসাথে যুক্ত করতে লাইন শেষ ( ) Enter। আর একটি অপূর্ণতা হ'ল Ctrl+_(পূর্বাবস্থায় ফিরিয়ে দেওয়া) কেবল শেষ থেকে পরিবর্তনগুলি পুনরুদ্ধার করেCtrl+C


-2

কমান্ডগুলি অনুলিপি করুন এবং তাদের নোটপ্যাডে পেস্ট করুন এবং সেখান থেকে এটি ফর্ম্যাট করুন। এর পরে আপনি টার্মিনালে আপনার কমান্ডগুলি অনুলিপি করতে পারেন।

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