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


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.