বাশ: আমি কি পিছনে শব্দটি মুছতে Ctrl-Backspace সেট করতে পারি?


19

শেল (ব্যাশ) এ থাকাকালীন - "Ctrl-Backspace" ব্যাকগ্রাউন্ড শব্দ মুছতে "বাঁধতে চাই। এটা কি সম্ভব?

সম্পাদনা করুন :

আমি কেডিএতে konsoleটার্মিনাল ব্যবহার করছি ।


2
প্রশ্নটি সরাসরি এগিয়ে, সে সম্পর্কে কোনও অভিযোগ নেই। আমি কেবল মন্তব্য করতে চাই যে প্রায়শই "স্ট্যান্ডার্ড" কী বাইন্ডিংগুলি সহজলভ্য করার জন্য অনেক মূল্যবান যা ইতিমধ্যে অনেক অ্যাপ্লিকেশনগুলিতে বিদ্যমান রয়েছে, সত্যিকার অর্থে লাভের জন্য কাস্টমাইজ করার পরিবর্তে এবং বিদেশী সিস্টেমে আচরণ কখনই দেখেনি এমন নিশ্চিততা রাখে। Ctrl+wআপনার অভ্যাস করা উচিত কি, ইমো।
ড্যানিয়েল অ্যান্ডারসন

@ ড্যানিয়েল অ্যান্ডারসন: বা বিকল্পভাবে - আপনি আপনার সেটিংস বিদেশী মেশিনে স্থানান্তর করার একটি উপায় বিকাশ করতে পারেন ।
অ্যাডোব

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

6
আমি বিপরীত সমস্যা পেয়েছি, আমি Ctrl-wকনসোলে "পূর্ববর্তী শব্দটি মুছুন" হিসাবে অভ্যস্ত হয়েছি এবং এটি গ্রহন বা ক্রোমে এমনকি প্রবৃত্তি দ্বারা এটি ব্যবহার করে যেখানে এটি বন্ধ ট্যাব / বন্ধ বর্তমান ফাইলের অর্থ। বেশ বিরক্তিকর।
এজেকুয়েল মুন্স

1
আমারও ক্রোম এসএসআইএনটিব একই সমস্যা। আমি কীভাবে সিটিআরএল-ডাব্লু সিটিআরএল-ডাব্লু ছাড়া করব? :)
রিকার্ডো এসসিই 13

উত্তর:


11

ইতিমধ্যে বেশিরভাগ টার্মিনালে ম্যাপযুক্ত Alt+ Backspaceবা Ctrl+ কেন ব্যবহার করবেন না W। কনসোল সম্পর্কে নিশ্চিত নয়। এক্সোডম্যাপ (ম্যান xmodmap) অন্যান্য কাস্টম কীগুলি পুনরায় তৈরি করতে ব্যবহৃত হতে পারে। (বিপরীতে, xmodmap খুব ভালভাবে ব্যাকস্পেসের পুনরায় তৈরি করতে পারে না কারণ টার্মিনালটি ম্যাপিংগুলিকে ওভাররাইড করে তবে বেশিরভাগ কীগুলির সাথে এটি ভালভাবে কাজ করে ...)।


9
কারণ আমি আমার ইমাসগুলিতে Ctrl-Backspace ব্যবহার করতাম। আমি Ctrl-w সম্পর্কে জানতাম। আল্ট-ব্যাকস্পেস আমার কাছে নতুন (+1)।
অ্যাডোব

1
ভাল কথা, হেলর্ক। আপনি এক্স সার্ভারে এক্সক্লুসিটি + ব্যাকস্পেসটি (এক্সমোডম্যাপের মাধ্যমে) বিরতি দিয়ে কিছু অব্যবহৃত অক্ষরে (যেমন Alt-ব্যাকস্পেস) ম্যাপ করতে পারেন।

4
এ সম্পর্কে বিরক্তিকর বিষয় হ'ল বেশিরভাগ বড় অপারেটিং সিস্টেমে বেশিরভাগ জিইআইআই অ্যাপ্লিকেশনগুলিতে সিআরটিএল + ব্যাকস্পেস হ'ল "পিছনের শব্দটি মুছুন" এর জন্য একটি সাধারণ ম্যাপিং। তেমনি, Ctrl + W "বন্ধ উইন্ডো" এর জন্য বিস্তৃত। Alt + w জিইআইআই-তে যে কোনও কিছুর জন্য খুব কমই ব্যবহৃত হয়, যা আমি ভাবতে পারি। মানকতা দুর্দান্ত হবে। আমি ভাবছি এর চেয়ে বড় বাধা, টার্মিনাল পরিবর্তন করা বা জিইআইআই পরিবর্তন করা আর কী হবে?
nnot101

1
@ অজানা, কন্ট্রোল-ডাবলু ইউনিক্স টার্মিনালের মধ্যে ইতিমধ্যে ডিফল্ট ওয়ার্ড-ইরেজ কী। হ্যাঁ এটি উইন্ডোজ / জিইউআই কনভেনশনের সাথে সাংঘর্ষিক, তবে বাস্তবে এটি প্রথম হয়েছিল - বহু বছর পরে। মাইক্রোসফ্টকে দোষ দিন!
অ্যালেক্সিস

11

আমি এই থ্রেডটি গুগলের মাধ্যমে খুঁজে পেয়েছি, তবে উত্তরটি আমি শুনতে চাইনি। তাই আমি চারপাশে খেলেছি:

আমার টার্মিনালে, স্বাভাবিক ব্যাকস্পেস প্রেরণ করে ^H, যখন সিটিআরএল + ব্যাকস্পেস প্রেরণ করে ^?। সুতরাং ^?কোনও শব্দ মুছে ফেলার জন্য এটি রিব্যান্ডিংয়ের ক্ষেত্রে সহজ হওয়া উচিত , যা ডিফল্টরূপে Ctrl + W এর মাধ্যমে উপলব্ধ।

প্রথম (ব্যর্থ চেষ্টা):

$ bind -P | grep 'C-w'
unix-word-rubout can be found on "\C-w".

সুতরাং এই কাজ করা উচিত:

$ bind '"\C-?":unix-word-rubout'

তবে এটা না ... কেউ ব্যাখ্যা করতে সক্ষম?

দ্বিতীয় (সফল) চেষ্টা করুন:

$ bind '"\C-?":"^W"'

যেখানে ^Wআক্ষরিক / কাঁচা ^W(এটি প্রদর্শিত হওয়ার জন্য ctrl + V টিপুন তারপর ctrl + W টিপুন)।


আপনার প্রথম সমাধানটি আমার পক্ষে কাজ করেছিল, আসলে! দ্বিতীয় না।
ড্রু হোসকিন্স

দ্বিতীয় চেষ্টাটি ব্যাকস্পেসটি সিটিআরএল-ব্যাকস্পেসের পরিবর্তে নিজেই প্রতিস্থাপন করবে?
ব্যবহারকারী541686

7

কেবলমাত্র আপনার সম্পাদনা করুন ~/.inputrc(আপনার একটি তৈরি করতে বা /etc/inputrcসেখানে একটি অনুলিপি করার প্রয়োজন হতে পারে ) যাতে এতে রয়েছে:

# Ctrl-Delete: delete next word
"\e[3;5~": shell-kill-word

# Ctrl-Backspace
"\C-H": shell-backward-kill-word

এটি কার্সারের পাশের শব্দটি মুছে ফেলতে Ctrl+ ম্যাপ করবে Delete


আমার জন্য কাজ করে না।
জোনাথন

6

এখানে কিছু ভাল উত্তর রয়েছে, তবে আমি সেটিংস-> বর্তমান প্রোফাইল সম্পাদনা-> কীবোর্ড-> সম্পাদনা করে কনসোলে সমাধান করেছি, তারপরে একটি ম্যাপিং যুক্ত Backspace+Controlকরছি \x17। (Ctrl-w ব্যবহার করে আমি ASCII কোড পেয়েছি showkey --ascii))


সঙ্গে জিনিস ইশারা জন্য ধন্যবাদ showkey। সুতরাং আমি বুঝতে পেরেছি যে ALT+Dকার্সারের সামনে শব্দ মুছে ফেলার জন্য এটি অনুরূপ হবে \x1b\x64
লোকি

আপনাকে ধন্যবাদ, এটি আমার সমস্যার সমাধান করেছে। আমার ক্ষেত্রে আমার আল্ট + ব্যাকস্পেসের পুনঃনির্মাণ করা দরকার এবং এর ক্রমটি \x1b\x7f
ডিডিএমসি

3

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

তবুও, আপনার টার্মিনাল অ্যাপ্লিকেশন (xterm? সেমিডি? টার্মিনাল? পুটি? আপনার ওএসের উপর নির্ভর করে) আপনার কীটিপ্রেস দেখতে পারে এবং ব্যাকস্পেস ব্যতীত কিছু বলতে পারে ব্যাশ স্পেসের সাথে কন্ট্রোল-ব্যাকস্পেস কী সংমিশ্রণের মানচিত্রের উপায় থাকতে পারে।


আমি দেখতে পেয়েছি যে আমার ব্যাশ ব্যাকস্পেস দেখতে পাচ্ছে না। তবে এটি এটি দেখানো সম্ভব হতে পারে।
অ্যাডোব

@ অ্যাডোব, আপনার মানে কী? আপনার টার্মিনালে 'stty' টাইপ করুন এবং তারপরে ম্যানুয়ালটি পড়ুন। যদি ^ এইচ আপনার মুছে ফেলা চরিত্র হিসাবে সেট করা থাকে, আপনি যদি এটির কোনও ভাল কারণ থাকে তবে আপনি এটি অন্য কোনও কিছুতে সেট করতে পারেন।

1
Github.com/calj/gtconf/blob/master/zsh/zshrc এ কীভাবে এটি করবেন তার একটি উত্তম উদাহরণ রয়েছে । কনসোল আপনাকে এটি করতে দেয়। / Usr / share / kde4 / apps / konsole / থেকে। / .Kde / share / apps / konsole এ * .কিট্যাব ফাইলগুলির একটি অনুলিপি করুন এবং উপরের লিঙ্কে দেওয়া পরামর্শগুলির সাথে এটি সংশোধন করে "কী ব্যাকস্পেস" লাইনটি মুছে দিন এবং যোগ করা: key Backspace-Shift-Control : "\x7f"এবং key Backspace-Shift+Control : "\E[9;3~"আপনি যখন থাকবেন তখন শিরোনাম লাইনটিও পরিবর্তন করুন: keyboard "Xfree4 Modlist"উদাহরণস্বরূপ। তারপরে আপনি :0 "\e[9;3~": backward-kill-word"/ .inputrc
অ্যাডাম

2

এটা চেষ্টা কর:

bind '"\C-_":backward-kill-word'

এটিকে স্থায়ী করতে বৈকল্পিকভাবে নিম্নলিখিতগুলি ~ / .inputrc এ যুক্ত করুন:

"\C-_": backward-kill-word

কুবুন্টু ১৪.০৪-এ বাশ 4.3.11 এ কাজ করে


2
কন্ট্রোল-ব্যাকস্পেস কন্ট্রোল-আন্ডারস্কোরের মতো হওয়ার সম্ভাবনা নেই।
থমাস ডিকি 20'15

1
এই থ্রেডে আমি যা চেষ্টা করেছি তার মধ্যে এটি কাজ করেছে! ব্যবহার "গনুহ ব্যাশ, সংস্করণ 4.3.48 (1) -release (, x86_64-পিসি লিনাক্স-GNU)" উইন্ডোজ / WSL ব্যাশ উপর
মার্কুস Jevring

এটি সাইগউইন ব্যবহার করে আমার পক্ষে দুর্দান্ত কাজ করে GNU bash, version 4.4.12(3)-release (x86_64-unknown-cygwin)
zagyi

1

কনসোলে:

  • ক্লিক Settings -> Edit current profile
  • 'কীবোর্ড' ট্যাব -> ক্লিক করুন [Edit...]
  • [Add]বোতামটি ক্লিক করুন এবং Key Combinationকলামের ধরণের নীচে Backspace+Ctrl। ইন Outputকলামের ধরণ 0x08(যা সাধারনত ব্যাকস্পেস চরিত্র)

এখন আপনার backward-kill-wordমাধ্যমে কীটি ম্যাপ করতে সক্ষম হওয়া উচিত

# ~/.bashrc

bind '"\x08":backward-kill-word'

ধন্যবাদ। কমপক্ষে xfce4- টার্মিনালে আমার জন্য কাজ করে।
লিমন

0

বেশিরভাগ টার্মিনালগুলিতে সিটিআরএল + ডাবলু এরই মধ্যে পিছনে একটি শব্দ মুছে ফেলা উচিত। এটি এক্সটার্মের সাথে কাজ করে এবং আমার ধারণা এটি কনসোলের সাথে কাজ করে। CTRL + W হ'ল পাঠ্য-ভিত্তিক প্রোগ্রামের একটি মান কী বাঁধাই যা সন্নিবেশ মোড, ইম্যাকস এবং প্রতিটি শেলগুলিতে ভিমের সাথে কাজ করবে।


5
আমি ইমটাক্স, ফায়ারফক্স, ক্রুশাডারে Ctrl-w- কে "ক্লোজ ট্যাব" বাঁধিয়েছি - সুতরাং আমি এটিকে কনসোল-এও একটি ট্যাব-সমাপ্তির সমন্বয় হিসাবে সেট করেছি।
অ্যাডোব
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.