** नोट: मैंने सुपरयूजर पर यही सवाल पूछा, लेकिन कोई प्रतिक्रिया नहीं मिली। मुझे अब एहसास हुआ कि यह इस विशेष प्रश्न के लिए एक अधिक उपयुक्त मंच है। *
एक ksh शेल में, हटाएं कुंजी कमांड लाइन पर उचित रूप से काम नहीं करती है । जब मैं हटाता हूं तो मुझे एक ~ मिलता है।
मैं कैसे:
- " कीबोर्ड पर चरित्र हटाएं" की कार्यक्षमता को हटाएं कीबोर्ड बटन? (कंट्रोल-डी ऐसा व्यवहार करता है जैसे मैं काम करने के लिए डिलीट बटन की उम्मीद करता हूं और एक अन्य का उपयोग करने के मेरे प्रयास असफल और संभावित थे।)
- होम कीबोर्ड बटन पर "लाइन के पहले पर जाएं " की कार्यक्षमता को बांधें ? (नियंत्रण ए अब ऐसा करता है, लेकिन मैं चाहता हूं कि होम ऐसा करे।)
- "कीबोर्ड के अंत में जाएं " की कार्यक्षमता को अंतिम कीबोर्ड बटन से बांधें ? (नियंत्रण ई अब ऐसा करता है, लेकिन मैं इसे करना चाहता हूं।)
अंतिम (?) अद्यतन
मैं कुछ है कि काम करता है पर ठोकर खाई, लेकिन मैं काफी क्यों समझ में नहीं आता है। यह काम:
bind '^[[3'=prefix-2
bind '^[[3~'=delete-char-forward
Http://www.qnx.com/developers/docs/6.3.2/neutrino/utilities/k/ksh.html#bind के अनुसार ,
prefix-2
Key binding: ^X, ^[[
Introduces a 2-character command sequence.
तो मेरा अद्यतन सवाल यह है कि मुझे इसके लिए उपयोग करने की आवश्यकता क्यों है prefix-2
? कृपया मेरे लिए अनुवाद करें ताकि मैं समझ सकूं कि मुझे इस बारे में सभी को फिर से बग नहीं करना है।
पुराने स्टॉल शो
अपडेट करें
यह पता चला है कि QNX में ESC है ^[
। कमांड का उपयोग करके bind '^[[3~'='delete-char-backward'
मैं कर्सर को एक के साथ कर्सर के नीचे वर्ण को अधिलेखित करने में सक्षम हूं ~
। यह कम से कम कुछ प्रगति है - मुझे अब पता है कि शेल के लिए डिलीट की को कैसे वर्तनी है । अधिकांश चीजें जो मैंने वेब पर देखी हैं, उनका कहना है कि डिलीट की है ^?
, लेकिन वह मेरे लिए काम नहीं करती है। इसके अलावा, मुझे यह उल्लेख करना चाहिए कि मैं पुट्टी के माध्यम से इसे एक्सेस कर रहा हूं।
मुझे समझ नहीं आता क्योंकि कंट्रोल डी वो करता है जो मैं डिलीट की करना चाहता हूं। मैंने इसे eot-or-delete
फिर से किसी भी लाभ के लिए बांधने की कोशिश की ।
यह सरल होना चाहिए, है ना?
अद्यतन 2:
bind | grep prefix
^X = prefix-2
^[ = prefix-1
ÿ = prefix-3
^[O = prefix-2
^[[ = prefix-2
bind | grep '[^ -~]'
ÿ = prefix-3
à = beginning-of-line
à¡ = up-history
ठ= backward-char
ঠ= forward-char
ਠ= end-of-line
à© = down-history
ଠ= delete-char-forward
à´ = backward-word
ච= forward-word
अद्यतन 3: मेरी सेटिंग्स के और अधिक
ईएनवी सेटिंग
echo $ENV
/etc/kshrc
पूरा उत्पादन बांधें
bind
^A = beginning-of-line
^B = backward-char
^C = abort
^D = eot-or-delete
^E = end-of-line
^F = forward-char
^G = abort
^H = delete-char-backward
^I = complete
^J = newline
^K = kill-to-eol
^L = redraw
^M = newline
^N = down-history
^O = newline-and-next
^P = up-history
^R = search-history
^T = transpose-chars
^U = kill-line
^V = version
^W = kill-region
^X = prefix-2
^Y = yank
^[ = prefix-1
^\ = no-op
^] = search-character-forward
^^ = quote
^_ = eot
^? = delete-char-backward
ÿ = prefix-3
^[^H = delete-word-backward
^[^X = complete-file
^[^[ = complete
^[^] = search-character-backward
^[ = set-mark-command
^[# = comment
^[* = expand-file
^[. = prev-hist-word
^[0 = set-arg
^[1 = set-arg
^[2 = set-arg
^[3 = set-arg
^[4 = set-arg
^[5 = set-arg
^[6 = set-arg
^[7 = set-arg
^[8 = set-arg
^[9 = set-arg
^[< = beginning-of-history
^[= = complete-list
^[> = end-of-history
^[? = list
^[C = capitalize-word
^[L = downcase-word
^[O = prefix-2
^[U = upcase-word
^[[ = prefix-2
^[_ = prev-hist-word
^[b = backward-word
^[c = capitalize-word
^[d = delete-word-forward
^[f = forward-word
^[g = goto-history
^[h = delete-word-backward
^[l = downcase-word
^[u = upcase-word
^[y = yank-pop
^[^? = delete-word-backward
^X^X = exchange-point-and-mark
^X^Y = list-file
^X^[ = complete-command
^X? = list-command
^XA = up-history
^XB = down-history
^XC = forward-char
^XD = backward-char
^XH = beginning-of-line
^XP = delete-char-forward
^XY = end-of-line
^Xc = forward-word
^Xd = backward-word
^Xw = end-of-line
à = beginning-of-line
à¡ = up-history
ठ= backward-char
ঠ= forward-char
ਠ= end-of-line
à© = down-history
ଠ= delete-char-forward
à´ = backward-word
ච= forward-word
/ Etc / kshrc
/etc # cat kshrc
case $- in
*i*)
export SHELL_COLOR_BLUE="print -n \\033[0;34m"
export SHELL_COLOR_GREEN="print -n \\033[0;32m"
export SHELL_COLOR_RED="print -n \\033[0;31m"
export SHELL_COLOR_LIGHTGRAY="print -n \\033[0;37m"
export SHELL_COLOR_YELLOW="print -n \\033[1;33m"
export COLOR_BLACK="\\033[0;30m"
export COLOR_BLUE="\\033[0;34m"
export COLOR_GREEN="\\033[0;32m"
export COLOR_CYAN="\\033[0;36m"
export COLOR_RED="\\033[0;31m"
export COLOR_PURPLE="\\033[0;35m"
export COLOR_BROWN="\\033[0;33m"
export COLOR_LIGHTGRAY="\\033[0;37m"
export COLOR_DARKGRAY="\\033[1;30m"
export COLOR_LIGHTBLUE="\\033[1;34m"
export COLOR_LIGHTGREEN="\\033[1;32m"
export COLOR_LIGHTCYAN="\\033[1;36m"
export COLOR_LIGHTRED="\\033[1;31m"
export COLOR_LIGHTPURPLE="\\033[1;35m"
export COLOR_YELLOW="\\033[1;33m"
export COLOR_WHITE="\\033[1;37m"
if [[ `id -u` -eq 0 ]]; then
export PS1=`$SHELL_COLOR_RED`'$(hostname -s):'`$SHELL_COLOR_YELLOW`'$(pwd) # '`$SHELL_COLOR_LIGHTGRAY`
else
export PS1=`$SHELL_COLOR_BLUE`'$(hostname -s):'`$SHELL_COLOR_GREEN`'$(pwd) $ '`$SHELL_COLOR_LIGHTGRAY`
fi
esac
PuTTy सेटिंग्स:
नोट जो कि मायने रखते हैं या नहीं, लेकिन पृष्ठभूमि प्रदान कर सकते हैं:
शेल "पीडी केएसएच v5.2.14 99/07 / 13.2" है। हां, मेरे पास अपग्रेड करने का कोई विकल्प नहीं है ... यह एक एम्बेडेड सिस्टम है। "एक आधुनिक शेल प्राप्त करें" एक व्यवहार्य उत्तर नहीं है। ऑपरेटिंग सिस्टम QNX Neutrino 6.4.1 है।
बाइंड निम्न दिखाता है:
bind | grep del
^D = eot-or-delete
^H = delete-char-backward
^? = delete-char-backward
^[^H = delete-word-backward
^[d = delete-word-forward
^[h = delete-word-backward
^[^? = delete-word-backward
^XP = delete-char-forward
ଠ= delete-char-forward
infocmp निम्नलिखित दिखाता है:
infocmp # Reconstructed via infocmp from file:
/usr/lib/terminfo/x/xterm xterm|vs100|xterm terminal emulator,
am, km, mir, msgr, xenl, xon,
cols#80, it#8, lines#65, vt@,
acsc=Oa``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
bel=^G, blink=@, bold=\E[1m, clear=\E[H\E[2J, cr=^M,
csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C,
cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J,
el=\E[K, el1=\E[1K$<3>, enacs=\E(B\E)0, home=\E[H, ht=^I,
hts=\EH, ich=\E[%p1%d@, ich1=\E[2~, il=\E[%p1%dL, il1=\E[L,
ind=^J, is1=\E=\E[?1l, kBEG=\ENn, kCPY=\ENs, kCRT=\ENt,
kDL=\ENv, kEXT=\ENw, kFND=\ENx, kHLP=\ENy, kOPT=\ENz,
ka3=\EOs, kb2=\EOr, kbs=^H, kc1=\EOq, kcan=\EOm, kclo=\ENc,
kclr=\ENa, kcmd=\EOu, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C,
kcuu1=\E[A, kdch1=\E[P, kend=\E[9, kf1=\E[11~, kf10=\E[21~,
kf11=\E[23~, kf12=\E[24~, kf2=\E[12~, kf3=\E[13~,
kf4=\E[14~, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~,
kf9=\E[20~, kfnd=\ENf, khlp=\ENh, khome=\E[8, khts=\ENb,
kich1=\E[2~, kmov=\ENi, kmrk=\ENm, kmsg=\ENe, knp=\E[6~,
kopn=\ENo, kopt=\ENk, kpp=\E[5~, kref=\ENl, kres=\ENp,
krfr=\ENg, krpl=\ENr, krst=\ENj, ksav=\ENq, kslt=\EOM,
ktbc=\ENd, kund=\ENu, rc=\E8, rev=\E[7m, ri=\EM, rmacs=^O,
rmam=\E[?7l, rmkx=\E>, rmso=\E[m,
rs1=\E>\E[1;3;4;5;6l\E[?7h\E[m\E[r\E[2J\E[H, rs2=@,
sc=\E7,
setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m,
sgr0=\E[m, smacs=^N, smam=\E[?7h, smkx=\E=, smso=\E[7m,
tbc=\E[3g,
स्टटी निम्नलिखित दिखाता है:
stty Name: /dev/ttyp0 Type: pseudo Opens: 2
+edit +echok +echonl
+osflow intr=^C quit=^\ erase=^? kill=^U eof=^D start=^Q stop=^S susp=^Z lnext=^V min=01 time=00 pr1=^[ pr2=5B left=44 right=43
up=41 down=42 ins=40 del=50 home=48 end=59
kshrc
बिना किसी लाभ के संशोधित करने का प्रयास किया है । मुझे लगता है कि sh: /etc/kshrc[21]: trap: bad signal KEYBD
मेरे पास दुर्भाग्य से एक और शेल विकल्प नहीं है। मुझे नहीं पता कि यह PDKSH के साथ या QNX या दोनों के साथ कोई समस्या है। मुझे पता है कि प्रमुख संयोजनों से मुझे क्या चाहिए। मुझे बस उन्हें उपयुक्त कुंजियों पर मैप करने के लिए सिंटैक्स को जानना होगा।
bind | grep prefix
दर्शाता है? और bind | grep '[^ -~]'
?
bind '^[[3~'='delete-char-forward'
को काम करना चाहिए था। मुझे समझ में नहीं आता कि वे गैर-एएससीआईआई अक्षर कहां से आ रहे हैं (वे 8 वें बिट सेट के साथ ईएससी + फू अनुक्रम नहीं हैं, न ही लैटिन 1 / यूटीएफ 8 भ्रम)। क्या `बाइंड '^ X3 ~ = डिलीट-चार-फॉरवर्ड' काम करता है?