বর্তমান ব্যাশ কমান্ড-লাইনে পুরো যুক্তি মুছুন


13

ব্যবহার ^W(UNIX-শব্দ-rubout) আমি সহজে আমার ব্যাশ শেল বর্তমান হুকুম থেকে একটি একক "শব্দ" মুছে ফেলতে পারেন।

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

সুতরাং আমি একটি সম্পূর্ণ যুক্তি মোছার উপায় খুঁজছি।

উদাহরণ (কার্সার সর্বদা শেষে থাকে):

$ foo --bar "foo bar" meow
[black magic]
$ foo --bar "foo bar"
[black magic]
$ foo --bar
[black magic]
$ foo

Zsh এ পরিবর্তন করা কোনও বিকল্প? (আমি জানি না যে এটি অফহ্যান্ডে জেডএসে কীভাবে করা যায়, তবে এতে কিছু কমান্ড লাইন পার্সিং কোড লাইন সম্পাদকের কাছে অ্যাক্সেসযোগ্য রয়েছে (বা কমপক্ষে সমাপ্তির সিস্টেম), যাতে এটি আরও সহজ করা উচিত))।
গিলস 'অসন্তুষ্ট হওয়া বন্ধ করুন'

উত্তর:


14

বাশের রিডলাইন কমান্ড রয়েছে যা ডিফল্টরূপে আবদ্ধ নয়। আপনি এগুলি রেফারেন্সে খুঁজে পেতে পারেন: http://www.gnu.org/software/bash/manual/html_node/Bindable-Readline-Commands.html# বাইন্ডেবল- রিডলাইন- কম্যান্ডস

আপনি যে আদেশটি সন্ধান করছেন তাকে ডাকা হবে shell-backward-kill-word। আপনাকে প্রথমে একটি শর্টকাট নির্বাচন করতে হবে। আসুন ব্যবহার করুন Ctrlp, যেহেতু এটি "পূর্ববর্তী আদেশ" - আপ তীরের মতো same

bind '"\C-p": shell-backward-kill-word'
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.