Zsh এ ALT + বামআররোকি সমাধান খুঁজছেন


129

আমি সম্প্রতি বাশ থেকে zsh এ স্যুইচ করেছি, তবে আমার Alt+ LeftArrowKeyএবং Alt+ মিস করছিRightArrowKey একবারে একটি শব্দ এবং পিছনে যেতে ।

এই মুহুর্তে, আমি Alt+ টিপুন যদি আমি কয়েকটা LeftArrowKeyচিঠি ফিরে যাই এবং তারপরে আমি আটকে যাই। আমি আর পিছনে যাব না এবং এটি Alt+ এর সাথে লাইনের শেষে ফিরে আসবে নাRightArrowKey যেমনটি আশা করব ঠিক তেমন আসবে না। আমি লাইনটির শেষে যেতে কেবল দ্বিতীয় থেকে শেষ পর্যন্ত যেতে তীর কীগুলি ব্যবহার করতে পারি না। লাইনে নতুন অক্ষর ইনপুট করা যায় না বা সত্যই মুছতে পারে।

আমি কীভাবে আমার প্রিয় শর্টকাটটি ফিরে পাব?

টার্মিনালটি যদি গুরুত্বপূর্ণ হয় তবে আমি ম্যাক ওএস এক্সে আছি।

উত্তর:


242

catআপনার শর্টকাট প্রেরিত কোডগুলি দেখতে রান করুন তারপরে কীগুলি টিপুন।
( আপনার কাজ শেষ হয়ে গেলে হত্যা করতে Ctrl+ টিপুন )) আমার জন্য, (উবুন্টু, কনসোল, এক্সটার্ম) + প্রেরণ করে টিপুন , তাই আমি আমার .zshrc এ রেখেছিCcat
Alt^[[1;3D

bindkey "^[[1;3C" forward-word
bindkey "^[[1;3D" backward-word

(আসলে আমি Ctrlউইন্ডোজ বা লিনাক্স গুইয়ের নীচে সাধারণ পাঠ্যবক্সের মতো শব্দ দ্বারা শব্দ সরাতে + তীর ব্যবহার পছন্দ করি ))

সম্পর্কিত প্রশ্ন: টার্মিনেটর টার্মিনাল এমুলেটরে Zsh চালানোর সময় .zshrc এ কী সেটিংস (হোম / শেষ / সন্নিবেশ / মোছা) ঠিক করুন


15
আপনি আমার ত্রাণকর্তা! আমার ম্যাকটিতে "Alt + <-" "^ [b" এবং -> "^ [f" দিয়েছে, তাই আমি এগুলি যুক্ত করেছি। একটি যাদুমন্ত্র মত কাজ করে. Ctrl + তীরগুলি ম্যাকের ডেস্কটপগুলির মধ্যে স্যুইচ করার জন্য সংরক্ষিত।
ম্যাডস ওহম লারসেন

1
একটি দ্রষ্টব্য হ'ল সিটিআরএল + <- এর জন্য বিড়াল ^[[Dআমার জন্য রিপোর্ট করছে যখন সিটিআরএল + ভি রিপোর্ট করছিল ^[OD। Ctrl + v এর পরামর্শ কার্যকর হয়েছে, তবে বিড়ালের কাজ হয়নি। তদ্ব্যতীত, সিআরটিএল + ভি Alt + <- এবং Alt + -> উভয়ের জন্য একই জিনিসটির প্রতিবেদন করছিল। আমি বিড়ালের আউটপুট দেখে এবং যে কোনও "[[" "" ও "দিয়ে প্রতিস্থাপন করে
মাইক এস

10
বিড়ালের অধীনে আমার আউটপুট হ'ল ^[^[[Cফরোয়ার্ড শব্দ এবং ^[^[[Dপিছিয়ে পড়া শব্দের জন্য, তবে .zshrc এগুলির জন্য আপডেট করা কোনও কারণে কার্যকর হয়নি।
ইয়ুন্তি

2
@Yunti - ফেলে bindkey "^[^[[D" backward-wordএবং bindkey "^[^[[C" forward-word~ / .zprofile আমার জন্য কাজ!
ফার্নান্দো এস্পিনোসা

মানুষ! আমার জীবন সংরক্ষিত! ভাগ করে নেওয়ার জন্য ধন্যবাদ!
জোওও হেনরিক ১৯

186

শেল নির্বিশেষে যে কেউ আইটার্ম ব্যবহার করছে তার জন্য

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

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

আমি নেটিভ ম্যাক-বাইন্ডিং পাসে সাড়া দিতে আপনার টার্মিনাল পাবার জন্য একটি compressive সমাধান লিখেছিলেন এখানে

আইটরম পছন্দগুলি খুলুন + ,এবং Profilesট্যাবে নেভিগেট করুন ( Keysট্যাবটি ব্যবহার করা যেতে পারে তবে আপনার প্রোফাইলে কী-বাইন্ডিং যুক্ত করা আপনাকে আপনার প্রোফাইল সংরক্ষণ করতে এবং একাধিক কম্পিউটারে এটি সিঙ্ক করার অনুমতি দেয় ) এবং keysসাব-ট্যাব এবং নিম্নলিখিতটি প্রবেশ করে:

কার্সারটি একটি শব্দ রেখে দিন

+ হেক্স কোডগুলি প্রেরণ করুন:0x1b 0x62

একটি শব্দ ডানদিকে কার্সার সরান

+ হেক্স কোডগুলি প্রেরণ করুন:0x1b 0x66

এবং এটি আপনাকে কেবল জেডএসএইচে নয়, আপনি যদি বাস, আইআরবি / পিসি, নোড ইত্যাদি চালিত সার্ভারে এসএসএইচ করে তবে আপনার পছন্দসই আচরণ করা উচিত should


1
আমি গৃহীত সমাধানটি নিয়ে সমস্যায় পড়ছিলাম কারণ আমার কাছে zsh কাজ ছিল ঠিক আছে তবে আইআরবি এবং অন্যান্য কনসোলগুলি নয়। পূর্ববর্তী সেটিংস মুছে ফেলা (প্রস্তাবিত হিসাবে আইটার্ম প্রোফাইলে) একটি কবজির মতো কাজ করে!
llekn

1
বাইন্ডকি সমাধান ম্যাকের উপর বিরক্তিকর ত্রুটির শব্দ করবে। এটি করার সঠিক উপায় এটি হওয়া উচিত।
ওয়েইশি জেং

@ লাইভ সম্ভবত কারণ আপনার শেলটি ডিফল্ট কনফিগারেশনে ম্যাপ করা হয়নি। চালানো bindkey | grep forward-wordআপনি "^[f" forward-wordফিরে দেখতে হবে কিন্তু আপনি যদি না করেন তবে আপনার কাছে 2 টি বিকল্প রয়েছে। অন্যদের মধ্যে একটিতে মানচিত্র ফিরে এসেছে, বা "^[f" forward-wordআপনার যুক্ত করুন .zshrc
ট্র্যাভিস ২

আমি নোট করব, শেলগুলি জুড়ে "^[f"ব্যবহার করার জন্য এটি সবচেয়ে ধারাবাহিকভাবে ব্যবহৃত বাঁধাই বলে মনে হয় forward-word, এবং আমার বাশের সংস্করণে ডিফল্টরূপে একমাত্র সেট।
ট্র্যাভিস

কোনওভাবে এটি বিকল্পের পরিবর্তে আমার জন্য কমান্ড বোতামটি নিয়ে কাজ করেছিল। ধন্যবাদ মানুষ. :)
বৈভব জৈন

72

নিম্নলিখিতগুলি ~ / .zshrc এ যুক্ত করা আমার জন্য ওএসএক্স মাউন্টেন সিংহে কাজ করেছে।

bindkey -e
bindkey '[C' forward-word
bindkey '[D' backward-word

4
এই সমাধানটি প্রতিটি ব্যবহারের সাথে আইটার্ম 2 এ একটি "বেল" ট্রিগার করে, তাই শব্দের মধ্যে লাফিয়ে ফেরা সত্যিই বিরক্তিকর হতে পারে।
ম্যাথু মোরেক

1
এটিকে ঘটতে থেকে কীভাবে অক্ষম করতে হয় তা যে কেউ বুঝতে পারে ^ @ ম্যাথিউমোরেক
ড্যানিয়েল কোবে

18
'\ ই \ ই' ঘণ্টা বাধা দেয়। টার্মিনাল সামঞ্জস্যতা মোডে আই কেরাম 2 দিয়ে এল ক্যাপিটেনে আমার কনফিগারেশনটি হ'ল bindkey "\e\e[D" backward-word bindkey "\e\e[C" forward-word
জোহানেস গন্ট্রাম

আপনাকে ধন্যবাদ, এটি ম্যাকওস সিয়েরায় সমস্যার সমাধান করেছে। টার্মিনাল বা আইটিার্ম 2 তে আমি কোনও বেল শব্দ পাই না।
রাস্পো

আপনি কীভাবে এটিকে শব্দের শেষ থেকে সরানোর জন্য সেট করবেন না শুরু বা সেগুলি নয়?
মাফরো 34

22

MacOS হাই সিয়েরা 10.13.6 বা মোজেভে 10.14.2 এ এবং জেডএসএইচ সহ আইটার্ম 2 ব্যবহার করে শব্দগুলি থেকে সরানোর জন্য আমাকে এই জাতীয় শব্দটি লিখতে হবে:

bindkey "\e\e[D" backward-word
bindkey "\e\e[C" forward-word

আরএমএসে আর একটি সমাধান কাজ করে না


1
এটি আমার জন্যও একমাত্র সমাধান যা কাজ করেছিল। ধন্যবাদ! ম্যাক ওএস মোজাভে
জামেস্কেপবেল '

ওএস ক্যাটালিনা তেও কাজ করে!
রিড রিচার্ডস

7

যদিও কঠোরভাবে আপনার প্রশ্নের উত্তর না, ডিফল্ট জন্য বাঁধাই forward-wordএবং backward-wordহয় alt-fরেস্প। alt-b

এই কাজ সর্বত্র, হোম সারি ছেড়ে করার প্রয়োজন না, এবং একটি সুন্দর স্মৃতিসম্বন্ধীয় সম্পত্তি (চ = এগিয়ে, খ = ফিরে) আছে, যখন এছাড়াও সঙ্গে সামঞ্জস্যপূর্ণ হচ্ছে ctrl-fএবং ctrl-bহচ্ছে forward-characterএবং backward-character

আপনার তীরচিহ্নগুলি ছিঁড়ে ফেলুন!


4
zsh / iterm2, মুদ্রণ ƒ এবং ∫ (সিবি সিএফ ওয়ার্কস) এ আমার জন্য কাজ করে না।
ডিভোরইন

2

এটি আমার পক্ষে কাজ করার জন্য আমি এই উত্তরটি ব্যবহার করেছি, তবে আমাকে কোডগুলি অদলবদল করতে হয়েছিল (বাম <-> ডান)

⌥ + He হেক্স কোডগুলি প্রেরণ করুন: 0x1b 0x66
⌥ + He হেক্স কোডগুলি প্রেরণ করুন: 0x1b 0x62

এবং আমার সাথে নিম্নলিখিতটি যুক্ত করুন ~/.zshrc

bindkey -e
bindkey "^[b" forward-word
bindkey '^[f' backward-word

1

ম্যাভেরিক্সে (১০.৯.৪) কোডটি 1; 5 ... সুতরাং তীরের সাথে বেইন্ড বাঁধার জন্য আমার .zshrc এটি ব্যবহার করছে:

bindkey "^[[1;5C" forward-word
bindkey "^[[1;5D" backward-word

আপনি CTRL + V ব্যবহার করতে পারেন এবং তারপরে আপনি যে কমান্ডটি ব্যবহার করতে চান তা ব্যবহার করতে পারেন

ইয়োসেমাইটে রবের সমাধান ব্যবহার করুন


1
bindkey "[C" forward-word bindkey "[D" backward-word
ফারকি

0

Zsh এ, bindkeyকীবোর্ড শর্টকাটগুলি দেখতে আপনি কমান্ডটি ব্যবহার করতে পারেন ।

bindkeyকাস্টম কী-বাইন্ডিং ব্যতীত উপলভ্য বিকল্পগুলি অন্বেষণ করতে ব্যবহার করুন।

যথা ^[b একটি শব্দের পিছনে ^[fসরানো এবং একটি শব্দের সামনে এগিয়ে যাওয়া।

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