লিনাক্সে স্ক্লাইট শেল ব্যবহার করার সময় অদ্ভুত কীবোর্ড


9

আমি একটি লিনাক্স বক্স সংযুক্ত ট্রাট পুটি ব্যবহার করি। ব্যাশ দিয়ে এটি ব্যবহার করে, আমার কীবোর্ডটি ভাল সম্পাদন করে তবে আমি যখন স্ক্লাইট শেল (স্ক্লাইট 3 প্রোগ্রাম) ব্যবহার করি তখন আমার কীগুলি পাগল হয়ে যায়:

del=^[[3~
up=^[[A
left=^[[D
right=^[[C
down=^[[B

এখানে আমার vভী (প্রাসঙ্গিক অংশ):

TERM=linux
SHELL=/bin/bash
SHLVL=1
INPUTRC=/etc/inputrc

আমি উইন্ডোতে যেমন করি তেমন স্ক্লাইটে আমার কীগুলি ব্যবহার করতে চাই।

আমার ইনপুটসিআর:

# do not bell on tab-completion
#set bell-style none

set meta-flag on
set input-meta on
set convert-meta off
set output-meta on

# Completed names which are symbolic links to
# directories have a slash appended.
set mark-symlinked-directories on

$if mode=emacs

# for linux console and RH/Debian xterm
"\e[1~": beginning-of-line
"\e[4~": end-of-line
"\e[5~": beginning-of-history
"\e[6~": end-of-history
"\e[3~": delete-char
"\e[2~": quoted-insert
"\e[5C": forward-word
"\e[5D": backward-word
"\e[1;5C": forward-word
"\e[1;5D": backward-word

# for rxvt
"\e[8~": end-of-line

# for non RH/Debian xterm, can't hurt for RH/DEbian xterm
"\eOH": beginning-of-line
"\eOF": end-of-line

# for freebsd console
"\e[H": beginning-of-line
"\e[F": end-of-line
$endif

উত্তর:


9

(এফওয়াইআই: এগুলি বেশিরভাগ টার্মিনালের সেই কীগুলি দ্বারা উত্পন্ন সাধারণ ক্রমগুলি, এটি ব্যাখ্যা করার জন্য এটি একটি টার্মিনাল বা প্রোগ্রাম / লাইব্রেরির উপর নির্ভর করে Ctrl+ এটি vটিপুন Endবা তারপরে বা অন্যান্য অক্ষরবিহীন কী দ্বারা টিপে কোনও ওয়ার্কিং টার্মিনালে প্রদর্শন করতে পারেন , যেখানে আক্ষরিকভাবে চিকিত্সা করার জন্য সিআরটিএল-ভি পরবর্তী কীগুলি চাপবে)

দেখে মনে হচ্ছে আপনার sqlite3বাইনারিটি ব্যবহার করছে না readline, বা পঠনের কনফিগারেশনটি ( inputrc) ভাঙা হয়েছে ( bashযদিও ঠিকঠাক কাজ করছে যদি কম হয়)।

নিম্নলিখিতটি সহ পাঠ্যলাইন ব্যবহার করা হচ্ছে তা আপনি নিশ্চিত / অস্বীকার করতে সক্ষম হবেন, which sqlite3এটি যদি আপনার না থাকে তবে পুরো পথ দিয়ে প্রতিস্থাপন করুন PATH।

ldd `which sqlite3` 

যদি আপনি দেখতে libreadline.soবা অনুরূপ হন, তবে এটি কাজ করা উচিত , সুতরাং আপনার INPUTRCপরিবেশের পরিবর্তনশীল পরীক্ষা করুন ~/.inputrcএবং /etc/inputrc। স্থিতিশীলভাবে সংযুক্ত ( ) এর একটি পাতলা সুযোগ রয়েছে libreadline.a, যাচাই করে দেখুন:

strings -a `which sqlite3`| grep -i inputrc

স্ট্রিং তাহলে INPUTRC, ~/.inputrcবা /etc/inputrcউপস্থিত এটা readline মত স্ট্যাটিক্যালি লিঙ্ক করা হয় এবং কাজ করা উচিত বলে মনে হচ্ছে।

(সর্বোপরি আপনি কেবল কিছু প্রাথমিক সংস্করণ পেতে পারেন এবং তথ্যগুলি ( pragma compile_options, যদি সমর্থিত হয়) থেকে সংকলন করতে পারেন sqlite3তবে বৈশিষ্ট্যগুলির সম্পূর্ণ সেট নয়, এ কারণেই আমাদের বাইনারিটিতে ঝুঁকতে হবে))

যদি না হয় lddবা stringsপাঠ্যলাইনটি নির্দেশ করে, তবে এটি প্রায় নিশ্চিত যে বাইনারিটির সমর্থন নেই।

অন্যথায় এই উত্তরটি যাচাই করুন: উবুন্টুতে রিডলাইন সমর্থন সহ এসকিউএলাইট

আপনার sqlite3বাইনারিটিতে রিডলাইন সমর্থন না থাকলে আপনি এর মধ্যে একটি ব্যবহার করে এটি মোড়ানো করতে পারেন :

rlwrap sqlite3
socat READLINE EXEC:"sqlite3"

উভয়ই আপনাকে কমান্ড লাইনে একটি ইতিহাস ফাইল নির্দিষ্ট করতে দেয়।

আপনি আপনার bashপঠনবন্ধন বাইন্ডিংগুলিও পরীক্ষা করে দেখতে পারেন , কেবলমাত্র প্রত্যাশা অনুযায়ী পাঠ্যলাইনটি কাজ করছে এবং কনফিগার হয়েছে:

bind -p | egrep '\[[ABCD3].?":'

আমার সিস্টেমে ( bash-3.xএকটি মধ্যে চলমান rxvt) আমি পেয়েছি:

"\M-[3~": delete-char
"\M-[D": backward-char
"\M-[C": forward-char
"\M-[B": next-history
"\M-[A": previous-history

\M"মেটা", যা পালানোর সমতুল্য , তাই যেখানে আপনি " \M-" ক " দেখেন \eতাও কাজ করা উচিত। মুদ্রিত হলে, পলায়ন^[ (নিয়ন্ত্রণ- [) হিসাবে প্রতিনিধিত্ব করা হয় ।


আমি আমার ইনপুট সিআর যুক্ত করেছি, যদি আপনি এই সম্ভাবনাটি বাদ দিতে একবার নজর দিতে পারেন
— কুরাষ্ট

এবং আমার এলসিডি স্ক্লাইট লাইব্রেডলাইনটি দেখায় না
— কুরাস্ত

1
এটা তোলে সম্ভবত realdine সমর্থন তারপর আছে না, নয়তো আপনার প্যাকেজ আপগ্রেড (চেক সাথে সঙ্গতি সমস্যাগুলির আপনি সংস্করণ আপগ্রেড করার আছে যদি), অথবা ব্যবহার rlwrapএকটি ওয়ার্কঅ্যারাউন্ড হিসেবে। উত্তর আপডেট হয়েছে।
— মিঃ স্পুর্যাটিক

আমার বাইনারি স্থিতিশীলভাবে লিঙ্কযুক্ত নয়, এবং আমার বাইন্ড আউটপুটটিও আপনার মতো। যাইহোক, আমার ইনস্টলটিতে আরআলআর্র্যাপ বা স্যুট নেই, এবং সেগুলি ইনস্টল করার জন্য আমার কাছে রুট অ্যাক্সেস নেই।
— কুরাষ্ট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.