Ctrl-C এর মতো বাশ শর্টকাট কীগুলি পরিবর্তন করবেন?


21

আমি কুবুন্টু 10.04 ব্যবহার করছি। আমি বাশ (টার্মিনাল) জন্য কিছু স্ট্যান্ডার্ড শর্টকাট কী পরিবর্তন করতে চাই।

আমি শর্টকাটগুলি সেট আপ করতে চাই Here

  • Ctrl- Cটার্মিনালে নির্বাচিত পাঠ্যটি ক্লিপবোর্ডে অনুলিপি করতে।

  • Ctrl- Vক্লিপবোর্ড থেকে টার্মিনালে আটকানো।

  • Ctrl- Zটার্মিনালের বর্তমান লাইনে সম্পাদনা পূর্বাবস্থায় ফেরাতে।

  • Ctrl- Shift- C(অথবা আরও ভাল, Super- C) কমান্ডটি শেষ করতে।

  • Ctrl- Shift- Z(বা Super- Z) পটভূমি কমান্ড হতে।

  • Ctrl- Shift- V(বা Super- V) আক্ষরিক সন্নিবেশ কমান্ড হতে (বা যা কিছু Ctrl- zআগে যা করেছে) did

আমি কীভাবে এই পরিবর্তনগুলি করব?

বিটিডাব্লু, আমি ওএস এক্সে টার্মিনালটি যেভাবে কাজ করে তা পছন্দ করি the কমান্ড কী ব্যবহার করে সমস্ত অনুলিপি / পেস্ট কমান্ডগুলি খুব সামঞ্জস্যপূর্ণ করে তোলে (ওএস এক্সের অন্যান্য অনেক কিছুর বিপরীতে)।

পিএস আমি ব্যাশ ম্যান পৃষ্ঠাটি পড়েছি এবং এটি কোনও লাভ হয়নি। এটি আমাকে ধারণা দিয়েছে, তবে উপরের সংমিশ্রণের জন্য আমার নির্দিষ্ট উদাহরণ প্রয়োজন। ধন্যবাদ।


এর মধ্যে কিছু "শর্টকাট" বাশে "প্রয়োগ" করা যায় না, তবে টার্মিনালে নিজেই রেখে দিতে হবে (এক্সটার্ম, জিনোম-টার্মিনাল, কনসোল ইত্যাদি)। যেমন "নির্বাচিত পাঠ্য", "ক্লিপবোর্ড"
আকির

উত্তর:


10

এগুলি ব্যাশের বৈশিষ্ট্য নয়, এগুলি টার্মিনাল ড্রাইভারের বৈশিষ্ট্য। যেমন, তারা দ্বারা নির্দিষ্ট করা হয় stty(1)

$ stty -a
speed 38400 baud; rows 24; columns 80; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = M-^?; eol2 = M-^?;
swtch = M-^?; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W;
lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 hupcl -cstopb cread -clocal -crtscts
-ignbrk brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff
-iuclc ixany imaxbel iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt
echoctl echoke

5
ঠিক আছে. ক্লু জন্য ধন্যবাদ। এখন, আমি এখনও আমার লক্ষ্যটি অর্জন করতে চাই। এবং আমি এও জানি যে ইনপুটক্রিটি সিটিআরএল-সি পুনরায় তৈরি করতে পারে। তবে আমি কীভাবে এটি করি তা আমি সত্যিই চিন্তা করি না, আমি কেবলমাত্র টার্মিনালে এই শর্টকাটগুলির পুনর্নির্মাণটি জানতে চাই।
পল

15
এখানে "ফিশ" রয়েছে: ty আমি নিজে থেকে এটি খুঁজে পেতে কঠোর পরিশ্রম করেছি। হিতোপদেশের সাথে প্রচার করা আপনাকে জঞ্জাল, আইএমওর মতো দেখায়।
পল

আপনি কীভাবে এটি Ctrl + Shift + C এ পুনরায় তৈরি করতে পারেন?
ক্রিপডিক

8

এটি এখন প্রায় সম্পূর্ণ সমাধান করা হয়েছে is সমাধানের কিছু অংশ এমটিকে 358 প্রথমে আমার নজরে এনেছিল http://www.linuxquestions.org/questions/linux-software-2/change-bash-shortcut-keys-such-as-ctrl-c-818170/ । তিনি ক্যানসোলের মেনু সেটিংসের মাধ্যমে অনুলিপিটি (কপিরাইট এবং পেস্ট শর্টকাট কীগুলি সহজেই পরিবর্তন করা যেতে পারে) বরং (আমার স্পষ্টতই অনেকটা স্পষ্টভাবে) সত্যটি নির্দেশ করেছিলেন। একবার আমি এটি দেখেছি, টার্মিনালটি অনুলিপি করে আটকানোর জন্য Ctrl-C এবং Ctrl-V সেট আপ করতে প্রায় 1 মিনিট সময় লেগেছে।

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

আমি সিদ্ধান্ত নিয়েছি যে আমি কোন অ-সংখ্যাসূচক কীটি Ctrl-C কে টার্মিনেট কমান্ড হিসাবে প্রতিস্থাপন করতে চাই। (আমি "কে" ব্যবহার করেছি)। স্টিটিতে কীভাবে শিফট পরিবর্তক প্রেরণ করা যায় সে সম্পর্কে আমি কোনও তথ্য পাইনি, তাই আমি এটি ছেড়ে দিয়েছি। এই সিদ্ধান্ত নিয়েই, আমাকে যা করতে হবে তা হ'ল কমান্ড লাইনে নিম্নলিখিতটি প্রবেশ করানো হয়েছিল:

stty প্রবেশ \ ^ কে

আমি যাচাই করেছি যে সবকিছুই পছন্দসইভাবে কাজ করেছে।

এখন আমাকে একটি স্টার্টআপ স্ক্রিপ্টে উপরের একক কমান্ড (স্টাটি এনট্রি \ ^ কে) রাখতে হবে। আমি নিশ্চিত না যে কোনটি "যথাযথ" একজন। আমি এই পরিবর্তনটি সিস্টেমের প্রশস্ত এবং স্থায়ী হতে চাই।

কোন স্ক্রিপ্ট সম্পর্কে কোনও পরামর্শ আমার কমান্ডটি রাখা উচিত?

এবং পরিশেষে, প্রচারমূলক জবাব হিসাবে, এগুলি অপ্রয়োজনীয় এবং সহায়তাহীন।


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

4

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

অন্যান্য ফাংশনগুলি readlineলাইব্রেরি দ্বারা নিয়ন্ত্রিত হয় , যা আপনি ফাইল সম্পাদনা করে কনফিগার করতে পারেন ~/.inputrc। বর্তমান লাইনে যে কোনও সম্পাদনা উল্টে দিতে Ctrl + Z পেতে, আপনি যুক্ত করতে চান want

C-z: revert-line

তবে সেই মূল ক্রমটি সম্ভবত টার্মিনালের দ্বারা আটকে গিয়েছে, সুতরাং sttyএটি কাজ করার আগে আপনাকে এটি আনবাইন্ড করতে ব্যবহার করতে পারে । প্রথমে ^Zআউটপুটটি অনুসন্ধান করুন stty -a(যেমন Ignacio এর উত্তরে প্রদর্শিত হয়েছে) এবং তারপরে, উদাহরণস্বরূপ, যদি এটি প্রদর্শিত হয় susp = ^Z, চালান

stty susp ^-

এই কী কী ম্যাপিংটি আবদ্ধ করতে।

আপনি যে অন্যান্য পরিবর্তনগুলির বিষয়ে জিজ্ঞাসা করছেন সেগুলি sttyইগনাসিওর মতোই করা উচিত , যেহেতু সেগুলি টার্মিনাল ফাংশন, তবে ঠিক কীভাবে তা আমি নিশ্চিত নই। বিষয়টি হ'ল আমি জানি না যে টার্মিনালটি শিফটকে স্বীকৃতি দেয় কিনা, বা যদি তা হয়, কীভাবে সেই তথ্যটি জানাতে হয় stty


3

কমান্ড লাইনে বাশ ব্যবহার করে emacsবা viমোড করে। এটিতে "নির্বাচন" বা "ক্লিপবোর্ড" এর কোনও ধারণা নেই। এটি "কিল বাফার" এবং "পয়েন্ট", "চিহ্ন", "শব্দ", "লাইন", "হত্যা" এবং "ইয়ঙ্ক" ইত্যাদির মতো জিনিস ব্যবহার করে

এটিতে জিইউআই-স্টাইলের কার্যকারিতা জুতা দেওয়ার চেষ্টা করা হতাশাজনক হবে এবং পুরোপুরি কাজ করবে না। আপনি কার্যাবলী একত্রিত করতে চেষ্টা করতে হবে stty, readlineএবং আপনার টার্মিনাল (সম্ভবত Terminal.appআপনার জন্য)। আপনি যেমন ফাংশন remap করতে হবে intr, susp, lnextযাতে আপনি এখনও তাদের বৈশিষ্ট্য ব্যবহার করতে পারেন, ইত্যাদি।

আমি দৃ rad়ভাবে এই জাতীয় রদবদল বিরুদ্ধে সুপারিশ। এটি আপনি যা চান তা করার জন্য ডিজাইন করা হয়নি।

যখন রোমে...


ডেভ, ঠিক এমন একটি সিস্টেমের জন্য যা ওএস এক্সের মতো কাজ করে, আমি কি আপনাকে ওএস এক্স ব্যবহারের পরামর্শ দিতে পারি? ডেনিস যেমন ইঙ্গিত করেছিলেন, আপনি যদি এটি কাজ করতে পারেন তবে আপনি নিজের মেশিনে আপনি ছাড়া অন্য কোনও কিছুতে লগইন করলে আপনি বেশ আটকান।
এমএসডব্লিউ

আমি অন্যান্য কমান্ডের বিষয়ে কোন প্রমাণ দিতে পারি না তবে কমান্ড উইন্ডোতে অনুলিপি তৈরি করে অনুলিপি করতে পারি এবং খুব কার্যকর। আমি অন্যান্য উইন্ডোজ এবং কনসোলের মধ্যে অনুলিপি করে আটকানোর জন্য এগুলি ক্রমাগত ব্যবহার করি এবং বহু বছর ধরে এটি করেছি। Shift-Ctrl-C এবং Shift-Ctrl-V বক্সের বাইরে কনসোলের জন্য এইভাবে কাজ করে। এবং যদিও আমি এটি বছরের পর বছর ধরে প্রতিদিন করেছি, তবে আমি অনিবার্যভাবে ভুলে গিয়ে কনসোলের সিটিআরএল-সিটিতে আঘাত করেছি। ব্যক্তিগতভাবে, আমি "যখন রোমে থাকি" প্রবন্ধটি প্রয়োগ করা বন্ধ করে দিতে এবং তাদেরকে বাস্তবে অন্য সমস্ত প্রয়োগের মতো কাজ করতে পুনরায় তৈরি করতে প্রস্তুত।
এরিকস

1

আমি উবুন্টু চালিয়েছি এবং কপির জন্য শর্টকাটটি ডিফল্ট Ctrl+ Shift+ Cথেকে আরও সাধারণ এবং সাধারণ Ctrl+ তে পরিবর্তন করেছি C। তবে এটি আমাকে বিঘ্নিত কমান্ড ^ সি প্রেরণ করতে না পেরে সমস্যার মধ্যে ফেলেছে ।

@ পল উত্তরের জন্য ধন্যবাদ কমান্ডটি চালিয়ে দেখতে পেলাম

tty intr \^k

আমাকে Ctrl+ ব্যবহার করে বাধাপ্রাপ্ত কমান্ড প্রেরণের অনুমতি দেবে K। তবে এই কমান্ডটি প্রতিবার চালানোর দরকার ছিল যখন আমি টার্মিনালটি খুলি যা একটি ঝামেলা (ঠিক যেমন তিনি নিজের উল্লেখ করেছিলেন)।

আরও কিছুটা গবেষণার মাধ্যমে (গুগলিং 😂) আমি খুঁজে পেলাম যে প্রতিবার টার্মিনালটি খোলার পরে কীভাবে একটি কমান্ড চালানো যায় (উবুন্টুতে যাই হোক)

সুতরাং, অবশেষে নিম্নলিখিত কমান্ডটি (একবার) চালানো (উবুন্টু 18.04 এবং সম্ভবত আরও বেশি) প্রতিবার প্রত্যাশিত আচরণ দেবে।

echo $'# Make Ctrl+K interrupt command in terminal\nstty intr \^k\n' >> ~/.bashrc

শেষ অবধি, এটি উল্লেখ করা দরকার যে আপনার অবশ্যই Kবোতামটি ব্যবহার করবেন না । আপনি উপরের সমস্ত কমান্ডের কে অক্ষরটি আপনার পছন্দের যে কোনও লেটার কীতে বিনিময় করতে পারেন ।

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