যখন বেশ কয়েকটি ফাইল / ডিরেক্টরি থাকে তখন কীভাবে টার্মিনাল স্বতঃপূরণ করা যায়?


32

আমার যদি বেশ কয়েকটি ডিরেক্টরি থাকে তবে:

afoo abar

কখনও কখনও আমার টার্মিনাল যখন ট্যাব টিপবে (যেমন "সিডি এ" তারপরে ট্যাব) টিপবে তখন স্বয়ংক্রিয়রূপে প্রত্যাখ্যান করবে এবং এর পরিবর্তে ডিরেক্টরিগুলির তালিকা মুদ্রণ করবে। কখনও কখনও এটি একটি কোলাহল, বিরক্তিকর শব্দও ছুঁড়ে দেয়। এই জাতীয় ক্ষেত্রে কীভাবে এটি স্বতঃপূরণ করা যায় তার কোনও ধারণা? উদাহরণস্বরূপ, এটি প্রথমে অ্যাবার প্রদর্শন করতে পারে এবং তারপরে যদি আমি আবার ট্যাব টিপছি। আমি উইন্ডোতে বা উবুন্টুতে কিছু প্রশংসা করার বিষয়টি দেখেছি

উত্তর:


46

আমার জন্য জীবন রক্ষাকারী এমন কিছু হ'ল বোবা তালিকার পরিবর্তে সম্ভাবনার মধ্য দিয়ে বাশ চক্র রাখা।

যেমন বাশ readlineতার স্বতঃ-সমাপ্তির জন্য ব্যবহার করছে, নীচের লাইনগুলিতে যুক্ত করুন~/.inputrc

একবার আপনি সন্তুষ্ট হলে এবং পুঙ্খানুপুঙ্খভাবে কয়েক দিন / সপ্তাহ সমাধান নিচে পরীক্ষা আছে কাটা এবং পেস্ট করুন (কপি না!) একই সেটিংস থেকে ~/.inputrcকরতে /etc/inputrcযা সিস্টেম-ব্যাপী সেটিংস রয়েছে, আপনার সিস্টেমে সকল ব্যবহারকারীর জন্য এই উপলব্ধ (অতিথি সহ)

কোডজ:

# mappings to have up and down arrow searching through history:
"\e[A": history-search-backward
"\e[B": history-search-forward
# mappings to have left and right arrow go left and right: 
"\e[C": forward-char
"\e[D": backward-char

# mapping to have [Tab] and [Shift]+[Tab] to cycle through all the possible completions:
"\t": menu-complete
"\e[Z": menu-complete-backward

তারপরে exitআপনার টার্মিনাল (বা পুট্টির মতো দূরবর্তী টার্মিনাল) এবং এটি আবার খুলুন ...

উদাহরণ:

  1. আপনি যখন 3 ফাইল আছে: file1, file2এবং file3এবং আপনি টাইপ করুন:

    e fTabTabTab

    এটি মাধ্যমে চক্র হবে:

    e file1
    e file2
    e file3

    এবং আপনি যখন পিছন দিকে ঘুরতে চান, কেবলমাত্র Shift+ টিপুনTab

  2. আপনি যখন টাইপ করবেন:

    very-complicated-command with lots of command line parameters

    এবং পরের বার আপনার একই কমান্ডের প্রয়োজন হলে আপনি কেবল টাইপ করুন:

    very

    এবং এটি আপনার জন্য টাইপ করব:

    very-complicated-command with lots of command line parameters

এটি আপনাকে বাশনে অনেক সময় বাঁচাবে! ;-)


2
+1, আকর্ষণীয়, তবে: 1. ~/.inputrcসম্ভবত তার চেয়ে বেশি ভাল /etc/inputrcএবং ২. আমার মনে হয় আপনি এটিকে bashসরাসরি সেট করতে পারেন : unix.stackexchange.com/q/55203/70524 , unix.stackexchange.com/a/16926/70524
মুড়ু

এটি বেশ সুন্দর, ধন্যবাদ (এবং আমার উপভোগ করুন) উভয় বিশ্বের সবচেয়ে ভাল সংমিশ্রণকারী বিকল্পগুলি দিয়ে লুপ করার জন্য কি কোনও সার্বজনীন উপায় আছে? আমি ফোল্ডার এবং সাবকোমেন্ডস ইত্যাদির সাথে ট্যাব + ট্যাব সম্ভাবনা পছন্দ করি তাই সেগুলি আমার সমস্ত মনে রাখতে হবে না (উদাহরণস্বরূপ git branch <tab through branches>, যদি আমি এর আইটেমগুলির মাধ্যমে একটি তালিকা এবং ট্যাব দেখতে পেতাম তবে দুর্দান্ত! ডিরেক্টরি এবং ফাইলগুলির জন্য) lsকি আইটেম উপলব্ধ দেখতে একটি বিকল্পের তবে subcommands জন্য এটি না যে সহজ বা সুস্পষ্ট হয় দুর্ভাগ্যবশত।।
এরিক

এটি পুটিটিতেও কাজ করে! কেবল একবার এটি পুনরায় চালু করতে হবে :)
np8

@ এরিক: স্পষ্টতই, আপনি যা চেয়েছিলেন তা সম্ভব তবে জিনিসগুলি এখানে সহজ রাখতে আমার উত্তর সম্পাদনা করতে যাচ্ছেন না। (পুরানো মন্তব্য
মুছুন

18

1 ম পরে আপনার tabআরও চিঠি sertোকানো প্রয়োজন। আপনি যদি টাইপ করুন

cd a

এবং হিট করে tabআপনি কিছু পান না এবং একটি সেকেন্ডের পরে tab(অবিলম্বে নিম্নলিখিত) আপনি নামের সাথে শুরু হওয়া একটি তালিকা পেয়েছেন aএবং তারপরে fএটি স্বয়ংক্রিয়ভাবে বাকিটি সম্পূর্ণ করার জন্য একটি সন্নিবেশ করা দরকার

cd atabtabftabtab

ফলাফল হবে

cd afoo

2
আইএমএইচও: এটি সঠিক উপায়। আমি ব্যক্তিগতভাবে উইন্ডোজ আচরণ খুব বিরক্তিকর মনে। আপনার প্রচুর ফাইল শুরু হওয়ার ক্ষেত্রে বিবেচনা করুন aএবং আপনার শেষটি দরকার need আপনি যখন দুর্ঘটনাক্রমে ট্যাব টিপুন তখন ডানটিতে পৌঁছানোর aজন্য সমস্ত সম্ভাব্য পরিপূর্ণতার তালিকাটি চালিয়ে যাওয়ার পরে।
টোবিয়াস

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