বাশের মতো পাওয়ারশেলের কাজগুলিতে অটোকম্প্লেশন করা কি সম্ভব?


19

আমি পাওয়ারশেলকে ভালবাসি, তবে লিনাক্সের পটভূমি থেকে কিছু জিনিস আসবে যা আমাকে সত্যিই তুচ্ছ করছে। উদাহরণস্বরূপ পছন্দ করুন কীভাবে ডিফল্ট অটো সমাপ্তি কাজ করে।

উদাহরণস্বরূপ: গেট-পিএস "গেট-পিএসব্রেইকপয়েন্ট" এ প্রসারিত যা প্রথম মিলিত আদেশ। ব্যাশে কেবলমাত্র একটি কমান্ড মিল থাকলে বাশ মিলবে কমান্ডে প্রসারিত হবে। বেশ কয়েকটি হিটিং ট্যাব যদি একবার কিছু না করে তবে ডাবল ট্যাপিং ট্যাবটি মিলবে কমান্ডগুলির তালিকা প্রদর্শন করবে কিন্তু প্রসারিত হবে না। পাওয়ারশেলকে এরকম আচরণ করার কোনও উপায় আছে কি?

এবং অন্য একটি জিনিস, যদি আমি একটি লাইন লিখেছি এবং চিহ্নিতকারীটিকে আগের কমান্ডে ফিরিয়ে নিয়েছি (চিহ্নিতকারী যেখানে ^ সেখানে রয়েছে):

"গেট-পিএসএস ^ | সরান-পিএসএসশন" স্বয়ংক্রিয়ভাবে সমস্ত পেছনের কমান্ডগুলি সরিয়ে "গেট-পিএসএসশন ^" এ সম্পূর্ণ হয়। ব্যাশে ট্রিলিং কমান্ডগুলি এখনও অকার্যকর থাকবে। পাওয়ারশেল স্বয়ংক্রিয়ভাবে সমাপ্তির পরে ট্রিলিং কমান্ডগুলি সরিয়ে না দেওয়ার কোনও উপায় আছে কি?

স্ক্রিনটি সাফ করার জন্য একটি বোনাস হ'ল সিটিআরএল + এল পাওয়া যাবে। লাইনের শুরুতে যেতে CTRL + A, এবং লাইনের শেষ প্রান্তে যেতে CTRL + E।


আমি আপনার প্রশ্নের উত্তর পোস্ট করেছি তবে মজার বিষয়টি হ'ল আমি এই প্রশ্নটিতে পৌঁছেছি কারণ আমি ঠিক এর বিপরীত সন্ধান করছি ... আমি পাওয়ারশেলের স্টাইলের সমাপ্তি চাই :)
রবার্ট এস সিয়াসিও

পাওয়ারশেল শৈলীর সমাপ্তি বাশে পাওয়া যায় - ফাংশন মেনু-সম্পূর্ণটির জন্য দেখুন
জেসন শিরক

ভাগ্যক্রমে আমাদের এখন উইন্ডোজ 10 এ বাশ রয়েছে।
বাইসোর

উত্তর:


12

পরীক্ষা করে দেখুন PSReadline

নিবন্ধ থেকে:

এই মডিউলটি পাওয়ারশেল.এক্সিতে কমান্ড লাইন সম্পাদনার অভিজ্ঞতা প্রতিস্থাপন করে। এটি উপলব্ধ করা হয়:

  • সিনট্যাক্স রঙ
  • সাধারণ বাক্য গঠন ত্রুটি বিজ্ঞপ্তি
  • একটি ভাল মাল্টি-লাইন অভিজ্ঞতা (সম্পাদনা এবং ইতিহাস উভয়)
  • কাস্টমাইজযোগ্য কী বাইন্ডিং
  • সিএমডি এবং ইমাস মোডগুলি (এখনও পুরোপুরি কার্যকর হয় নি তবে উভয়ই ব্যবহারযোগ্য)
  • অনেক কনফিগারেশন বিকল্প
  • বাশ শৈলীর সমাপ্তি (সিএমডি মোডে alচ্ছিক, ইমাস মোডে ডিফল্ট)
  • বাশ / zsh শৈলী ইন্টারেক্টিভ ইতিহাস অনুসন্ধান (CTRL-R)
  • ইমাস ইয়াঙ্ক / কিল রিং
  • পাওয়ারশেল টোকেন ভিত্তিক "শব্দ" আন্দোলন এবং হত্যা
  • পূর্বাবস্থা পুনরায় করুন
  • লাইভ সেশনে ইতিহাস ভাগ করে নেওয়ার সাথে ইতিহাসের স্বয়ংক্রিয় সংরক্ষণ saving
  • "মেনু" সমাপ্তি (কিছুটা ইনটেলিসেন্সের মতো, তীরগুলি দিয়ে সমাপ্তি নির্বাচন করুন) সিটিটিএল + স্পেসের মাধ্যমে

আমি এটি প্রতিদিন ব্যবহার করি!


4
একবার আপনি পিএসআরডলাইন ইনস্টল করার পরে, আপনার প্রোফাইলে এটি যুক্ত করে ব্যাশ-স্টাইলের ট্যাব সমাপ্তি সক্ষম করতে হবে:Set-PSReadlineKeyHandler -Key Tab -Function Complete
ব্রায়ানপিয়ারিস

3
PSReadLine এখন উইন্ডোজ 10 এ ডিফল্টরূপে ইনস্টল করা আছে কেবলমাত্র @ ব্রায়ানপায়ারিস আপনার প্রোফাইলের মধ্যে উল্লিখিত কনফিগারেশন লাইনটি রেখে দিন এবং আপনি যেতে ভাল।
ডন ক্রিকশঙ্ক

আরও বাশ-জাতীয় অভিজ্ঞতার CompleteMenuপরিবর্তে ব্যবহারের চেষ্টা করুন Complete, এটি আপনাকে পছন্দগুলি নেভিগেট করতে তীর কীগুলি ব্যবহার করতে দেয়
অগস্ট

3

পাওয়ারআল্টব , কাস্টমাইজযোগ্য পাওয়ারশেল ট্যাব সম্প্রসারণের দিকে আপনার নজর রাখা উচিত ।


2
ধন্যবাদ! পাওয়ারটাব ট্যাব সম্প্রসারণের উপায়টিকে আরও ভাল করে তোলে। তবুও, কমান্ডের শেষে না পেরে কিছু শেষ করার বিষয়টি রয়েছে।
পিটার মোবার্গ

2

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


2

পুরাতন কমান্ড.এক্সসি সাবসিস্টেমটি এখনও পাওয়ারশেলের সাথে জড়িত এবং প্রচুর অপ্রীতিকর আচরণের জন্য জোর করে। তবে পাওয়ারশেল ভি 3 হিসাবে, জিইউআই (পাওয়ারশেল আইএসই) এখন ব্যবহারযোগ্য এবং এতে আরও অনেক আধুনিক সমাপ্তির অভিজ্ঞতা + রঙিনকরণ অন্তর্ভুক্ত রয়েছে।

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


2

পাওয়ারশেলটি সম্মোহিত কমান্ড প্রম্পটের মতো একই কনসোল বৈশিষ্ট্যগুলি ব্যবহার করে; সুতরাং আপনার স্বাভাবিক হোম / শেষ আছে এবং:

  • F3 পূর্ববর্তী কমান্ড আনতে
  • F1 পূর্ববর্তী কমান্ড থেকে একটি অক্ষর অনুলিপি করতে
  • F7 পপআপ ইতিহাস উইন্ডো

... তবে যতদূর আমি জানি সমস্ত সম্ভাব্য পরিপূর্ণতা দেখানোর কোনও সুবিধা নেই।


ভাল পুরানো বাশের তুলনায় এটি এখনও খুব সীমাবদ্ধ। উদাহরণস্বরূপ এটি বাশনে ctrl + r (স্পিডসার্ক) টাইপ করতে পেরে সত্যিই দুর্দান্ত এবং কেবল টাইপ করা শুরু করুন এবং একটি পূর্ববর্তী কমান্ড দেখা যাবে।
পিটার মোবার্গ

1

নিয়মিত পাওয়ারশেল কমান্ড প্রম্পট উইন্ডো হিসাবে সেন্টিমিডি ব্যবহার করে। এ কারণেই এর একটি বিশাল উত্তরাধিকার রয়েছে (প্রোগ্রামগুলি বয়সের জন্য পুরানো সিএমডি এর আচরণের উপর রিলে) যা পিছনে তুলনামূলকতার কারণে পরিবর্তন করা যায় না।

আমি আপনাকে পাওয়ারশেলের পরিবর্তে পাওয়ারশেল_ইজ ব্যবহার করার পরামর্শ দিচ্ছি (এটি স্ট্যান্ডার্ড পাওয়ারশেল বান্ডেলের অন্তর্ভুক্ত)। সংস্করণ 3.0 (পূর্ববর্তী সম্পর্কে নিশ্চিত না) বাক্স থেকে ইন্টেলিসেন্স সমর্থন করে। এটি ব্যাশ সমাপ্তির শৈলীর খুব কাছাকাছি। কেবলমাত্র ট্যাবের পরিবর্তে Ctrl + স্পেসে চাপুন । আমি পাওয়ারটাবে কাস্টম কমপ্লিমেন্ট নিয়ে সমস্যায় পড়েছি, তবে ইন্টেলিসেন্স এটির সাথে ঠিক কাজ করে। পাওয়ারশেল_ইস অনুসরণযোগ্য কমান্ডগুলি সংরক্ষণ করে, সাধারণ সিলেক্ট মোড থাকে, সিলেক্ট + সি, সিআরটিএল + ভি সমর্থন করে সিলেক্ট প্রবেশ কমান্ডের জন্য সিআরটিএল + এ, লাইনটির ভিক্ষাবৃত্তিতে ঝাঁপ দাও, সিটিআরএল + এ, শেষে (বা হোম) /শেষ).


0

পাওয়ারশেল কমান্ডগুলির জন্য নিজস্ব পার্সার ব্যবহার করে, তাই এক অর্থে এটি একই রকম টার্মিনাল (গুই উইন্ডো) ভাগ করে নিলেও, এটি cmd.exe এর চেয়ে আলাদা শেল।

এই পার্থক্যের কারণে, পাওয়ারশেল আপনাকে নিজের ফাংশন দিয়ে ট্যাব-সমাপ্তির কার্যকারিতা ওভাররাইড করতে দেয়। আমার নিজেই এটির সাথে ঝামেলা করার সময় হয়নি, তবে আপনি মূলত tabexpansionআপনার প্রোফাইলে ফাংশনটি ওভাররাইড করেন ঠিক একইভাবে আপনি promptফাংশনটিকে ওভাররাইড করতে পারেন ।

আমি এই নিবন্ধটি পেয়েছি , লি হোমসের (দুর্দান্ত উইন্ডোজ পাওয়ারশেল কুকবুকের লেখক ), যা একটি ট্যাবস্প্যাশন ওভাররাইড বর্ণনা করে যা আপনি যা খুঁজছেন তার সাথে খুব মিল। আপনি যা চান তা দিতে আপনি সম্ভবত এটি টুইট করতে পারেন।

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