zsh (z শেল) নামপ্যাড / নমলক কাজ করে না


46

আমি সবে zsh / oh-my-zsh এ আপগ্রেড করেছি। প্রায় সঙ্গে সঙ্গেই আমি আমার মেশিনে লক্ষ্য করেছি যে 10-সংখ্যার নামপ্যাড কাজ করছে না। এটি ব্যাশ এবং ফিশ শেলের কাজ করছিল।

অদ্ভুতভাবে, আমি যদি fn / ফাংশন কীটি ধরে রাখি তবে এটি নিমলকের মতো কাজ করে এবং কাজ করে, তবে এটি "লক" করে না এবং সংখ্যাগুলি টাইপ করার জন্য আমাকে fn চেপে ধরে রাখতে হবে।

সেখানে কোন ধারণা আছে?

উত্তর:


89

নামপ্যাড কী শীর্ষ সারিতে 'সাধারণ' সংখ্যা কী হিসাবে একই কী চিহ্নগুলি প্রেরণ করে না। উদাহরণস্বরূপ: নামপ্যাড-1-কী প্রেরণ করা হয় KP_1যখন 1-কী কেবল প্রেরণ করে 1

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

zshম্যাপিং স্বয়ংক্রিয়ভাবে করে না, তবে আপনি bindkeyনিজেরাই ম্যাপিংটি ব্যবহার করতে পারেন । ~/.zshrcকীপ্যাডটি কাজ করার জন্য আমার কাছে নিম্নলিখিতগুলি রয়েছে :

# Keypad
# 0 . Enter
bindkey -s "^[Op" "0"
bindkey -s "^[Ol" "."
bindkey -s "^[OM" "^M"
# 1 2 3
bindkey -s "^[Oq" "1"
bindkey -s "^[Or" "2"
bindkey -s "^[Os" "3"
# 4 5 6
bindkey -s "^[Ot" "4"
bindkey -s "^[Ou" "5"
bindkey -s "^[Ov" "6"
# 7 8 9
bindkey -s "^[Ow" "7"
bindkey -s "^[Ox" "8"
bindkey -s "^[Oy" "9"
# + -  * /
bindkey -s "^[Ok" "+"
bindkey -s "^[Om" "-"
bindkey -s "^[Oj" "*"
bindkey -s "^[Oo" "/"

bindkey -s in-string out-stringশুশ্রূষা in-stringকরতে out-string। যদি in-stringটাইপ out-stringপুশব্যাক এবং ইনপুট হিসাবে গণ্য হবে।

প্রকৃত কোডগুলি (উদাহরণস্বরূপ ^[Oq) আপনার সিস্টেমে আলাদা হতে পারে। আপনার টার্মিনালের কোড পেতে আপনি Ctrl+ টিপুন vপ্রশ্নাবলীর কী অনুসরণ করতে পারেন ।


3
ধন্যবাদ স্যার, এটি আমার পক্ষে নিখুঁতভাবে কাজ করেছে এবং Ctrl+ vটিপটি দুর্দান্ত!
ব্র্যাডগ্রিনস

1
ধন্যবাদ, এটি সত্যই কার্যকর ছিল তবে অ্যাপল ইউএসবি কীবোর্ডের জন্য কিছু কী অনুপস্থিত ছিল। এটি অ্যাপল কীবোর্ডের জন্য মূল বাঁধাই: # কীপ্যাড # 0। বাইন্ডকি-এস "^ [অপ" "0" বাইন্ডকি-এস "^ [চালু" "লিখুন।" bindkey -s "^ [ওএম" "^ এম" # 1 2 3 bindkey -s "^ [ওক" "1" bindkey -s "^ [বা" "2" bindkey -s "^ [ওস" "3" # 4 5 6 বাইন্ডকি-এস "^ [ওটি" "4" বাইন্ডকি-এস "^ [ওউ" "5" বাইন্ডকি-এস "^ [ওভ" "6" # 7 8 9 বাইন্ডকি-এস "^ [নিজের" "7 "বাইন্ডকি-এস" ^ [অক্স "" 8 "বাইন্ডকি-এস" ^ [ওয় "" 9 "# + - * / বাইন্ডকি-এস" ^ [ওকে "" + "বাইন্ডকি-এস" ^ [ওম "" - " bindkey -s "^ [ওজ" "*" বাইন্ডকি-এস "^ [ওও" "

এর জন্য ম্যানুয়াল: gnu.org/software/screen/manual/html_node/…
ক্রো

এবং এই ভাল খুব হল: stackoverflow.com/questions/18042685/...
krowe

github.com/krowe/kshrc-k800-keybindings এটি তৈরি করেছেন এই উত্তরটির ভিত্তিতে।
ক্রো

16

@ এডাফোন যে উত্তরটি দিয়েছিল তা পূরণ করতে, নিম্নলিখিতটি অ্যাপল ইউএসবি কীবোর্ড (A1243) এর সঠিক বাইন্ডিংগুলি রয়েছে। এগুলিতে যুক্ত করা দরকার ~/.zshrc

# Fix numeric keypad
# 0 . Enter
bindkey -s "^[Op" "0"
bindkey -s "^[On" "."
bindkey -s "^[OM" "^M"
# 1 2 3
bindkey -s "^[Oq" "1"
bindkey -s "^[Or" "2"
bindkey -s "^[Os" "3"
# 4 5 6
bindkey -s "^[Ot" "4"
bindkey -s "^[Ou" "5"
bindkey -s "^[Ov" "6"
# 7 8 9
bindkey -s "^[Ow" "7"
bindkey -s "^[Ox" "8"
bindkey -s "^[Oy" "9"
# + -  * / =
bindkey -s "^[Ol" "+"
bindkey -s "^[Om" "-"
bindkey -s "^[Oj" "*"
bindkey -s "^[Oo" "/"
bindkey -s "^[OX" "="

1
রবিন, আপনি কি নিজের উত্তরটি প্রসারিত করতে পারবেন যেখানে ওপিতে এই সমস্যাটি সংশোধন করার জন্য এই তথ্যটি ইনপুট করা উচিত?
music2myear

2
এই ছাড়া আমার জন্য কাজ +(ব্যবহারের ছিল bindkey -s "^[Ok" "+") এবং =(অনুপস্থিত bindkey -s "^[OX" "=")
dain

4

@ এডাফোন থেকে উত্তর পরিপূরক। আমার ডেল ডেস্কটপটির জন্য আমাকে যা ব্যবহার করতে হয়েছিল তা এখানে সাহায্যকারী হতে পারে। এটি আপনার .zshrc ফাইলটিতে যুক্ত করুন।

(বিটিডাব্লু সব উত্তর থেকে বাইন্ডিং যুক্ত করবে না, আপনার প্রতি কী প্রতি কেবল একটি বাঁধাই করা উচিত)

# Keypad
# 0 . Enter
bindkey -s "^[Op" "0"
bindkey -s "^[On" "."
bindkey -s "^[OM" "^M"
# 1 2 3
bindkey -s "^[Oq" "1"
bindkey -s "^[Or" "2"
bindkey -s "^[Os" "3"
# 4 5 6
bindkey -s "^[Ot" "4"
bindkey -s "^[Ou" "5"
bindkey -s "^[Ov" "6"
# 7 8 9
bindkey -s "^[Ow" "7"
bindkey -s "^[Ox" "8"
bindkey -s "^[Oy" "9"
# + -  * /
bindkey -s "^[OQ" "/"
bindkey -s "^[OR" "*"
bindkey -s "^[OS" "-"
bindkey -s "^[Ol" "+"
#END Keypad

সুপার ব্যবহারকারীকে স্বাগতম! এটি কী এবং কীভাবে / কোথায় এটি ব্যবহার করবেন সে সম্পর্কে একটু গাইডেন্সিং অন্তর্ভুক্ত করতে দয়া করে আপনার উত্তরটি সম্পাদনা করতে পারেন?
এক্সেল 18

এই সমাধানটি উইন্ডোজ কীপ্যাডের সাথে zsh এর জন্য কাজ করেছিল (পুটি, সহ Terminal > Keyboard > Initial state of numeric pad > Normal)
ইভান ক্যাসেলেলানোস

3

আমার ম্যাক ওএসএক্স এল ক্যাপিটেনে, পিরিয়ড কীটি ^[0nপরিবর্তে ^[01। এছাড়াও ম্যাকের জন্য আমার একটি লজিটেক ওয়্যারলেস কীবোর্ড রয়েছে এবং এটি =নামপ্যাডেও একটি চিহ্ন রয়েছে । আমার চূড়ান্ত ম্যাপিংটি নীচের মত দেখাচ্ছে:

# Keypad
# 0 . Enter
bindkey -s "^[Op" "0"
bindkey -s "^[On" "."
bindkey -s "^[OM" "^M"
# 1 2 3
bindkey -s "^[Oq" "1"
bindkey -s "^[Or" "2"
bindkey -s "^[Os" "3"
# 4 5 6
bindkey -s "^[Ot" "4"
bindkey -s "^[Ou" "5"
bindkey -s "^[Ov" "6"
# 7 8 9
bindkey -s "^[Ow" "7"
bindkey -s "^[Ox" "8"
bindkey -s "^[Oy" "9"
# + -  * / =
bindkey -s "^[Ok" "+"
bindkey -s "^[Om" "-"
bindkey -s "^[Oj" "*"
bindkey -s "^[Oo" "/"
bindkey -s "^[OX" "="

অন্যরা প্রস্তাবিত সমাধানটি সঠিকভাবে কাজ করে।


1

আপনি যদি এসটিএইচ-তে একটি লিনাক্স সার্ভার অ্যাক্সেস করতে কিটি ব্যবহার করেন এবং কীপ্যাড বাশের সাথে জেডএসএইচ-এর সাথে না ঠিকঠাকভাবে কাজ করছে, আপনি নিজের ~/.zshrcকনফিগার ফাইলে নিম্নলিখিতগুলি যুক্ত করার চেষ্টা করতে পারেন :

# Keypad
# 0 . Enter
bindkey -s "^[Op" "0"
bindkey -s "^[On" "."
bindkey -s "^[OM" "^M"
# 1 2 3
bindkey -s "^[Oq" "1"
bindkey -s "^[Or" "2"
bindkey -s "^[Os" "3"
# 4 5 6
bindkey -s "^[Ot" "4"
bindkey -s "^[Ou" "5"
bindkey -s "^[Ov" "6"
# 7 8 9
bindkey -s "^[Ow" "7"
bindkey -s "^[Ox" "8"
bindkey -s "^[Oy" "9"
# + -  * /
bindkey -s "^[Ol" "+"
bindkey -s "^[OS" "-"
bindkey -s "^[OR" "*"
bindkey -s "^[OQ" "/"

সংরক্ষণ করুন। জেডএসএইচ কনফিগারেশনটি পুনরায় লোড করতে লগআউট এবং আবার লগইন করুন, অথবা বিকল্পভাবে আপনি আপনার টার্মিনালে নিম্নলিখিত টাইপ করতে পারেন:

. ~/.zshrc

কীপ্যাডটি এখন প্রত্যাশা অনুযায়ী কাজ করা উচিত!


এটি অন্য উত্তরটির সদৃশ এবং কোনও নতুন সামগ্রী যুক্ত করে না। অবদানের জন্য আপনার কাছে নতুন কিছু না থাকলে দয়া করে কোনও উত্তর পোস্ট করবেন না।
ডেভিডপস্টিল

আমাকে দ্বিমত করা যাক। কেবলমাত্র এই উত্তরের অনুরূপ কোড রয়েছে: superuser.com/a/907695/351420 এবং আমি প্রসঙ্গটি এবং কীভাবে এই কোডগুলি ব্যবহার করব সে সম্পর্কে ব্যাখ্যা করি, তবে এই উত্তরটির চেয়ে ভাল better
গ্যাব্রিয়েল হাটক্লোক্ক
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.