মুছুন কী কমান্ড লাইনে কাজ করে না


10

** দ্রষ্টব্য: আমি সুপার ইউজারে এই একই প্রশ্নটি জিজ্ঞাসা করেছি, কিন্তু কোনও প্রতিক্রিয়া পাইনি। আমি এখন বুঝতে পারি যে এটি এই নির্দিষ্ট প্রশ্নের জন্য আরও উপযুক্ত ফোরাম * *

একটি কেএসএস শেলের মধ্যে, মুছুন কী কমান্ড লাইনে যথাযথভাবে কাজ করে না । আমি মুছুন ~ যখন আমি মুছুন টিপুন।

আমি কিভাবে করবো:

  1. মুছে ফেলা কীবোর্ড বোতামটি "কার্সারে অক্ষর মুছুন" এর কার্যকারিতা বাঁধবেন ? (কন্ট্রোল-ডি এমনটি আচরণ করে যা আমি মুছে ফেলার বোতামটি কাজ করার প্রত্যাশা করি এবং আমার কোনও উলাম ব্যবহার করার চেষ্টা ব্যর্থ হয়েছিল এবং সম্ভবত নিষ্পাপ ছিল))
  2. হোম কীবোর্ড বোতামে "লাইনের প্রথম দিকে সরান " এর কার্যকারিতা আবদ্ধ করবেন ? (কন্ট্রোল এ এখন এটি করে তবে আমি হোম এটি করতে চাই))
  3. শেষ কীবোর্ড বোতামটিতে " লাইনের শেষে চলে যান " এর কার্যকারিতাটি বাঁধুন ? (কন্ট্রোল ই এখন এটি করে তবে আমি এটি শেষ করে দিতে চাই))

ফাইনাল (?) আপডেট

আমি এমন কিছু কাজ করতে গিয়ে হোঁচট খেয়েছি, তবে কেন আমি তা বুঝতে পারছি না। এইটা কাজ করে:

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? অনুগ্রহ করে আমার জন্য অনুবাদ করুন যাতে আমি বুঝতে পারি তাই আমাকে এই সম্পর্কে আবার সবাইকে ত্রুটিযুক্ত করতে হবে না।

পুরানো স্টাফ অনুসরণ করুন

হালনাগাদ

দেখা যাচ্ছে কিউএনএক্সের ইসি আছে ^[। কমান্ডটি ব্যবহার করে 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: আমার সেটিংস আরও

ENV সেটিং

 echo $ENV
/etc/kshrc

BIND সম্পূর্ণ আউটপুট

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

পটিটি সেটিংস:

এখানে চিত্র বর্ণনা লিখুন

নোটগুলি যা গুরুত্বপূর্ণ বা নাও পারে তবে এটি পটভূমি সরবরাহ করতে পারে:

শেলটি হল "পিডি কেএসএইচ ভি 5.2.14 99/07 / 13.2" " হ্যাঁ, আমার আপগ্রেড করার কোনও বিকল্প নেই ... এটি একটি এমবেডেড সিস্টেম। "একটি আধুনিক শেল পান" কোনও কার্যকর উত্তর নয়। অপারেটিং সিস্টেমটি কিউএনএক্স নিউট্রিনো 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  #      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


আমি ইতিমধ্যে links দুটি লিঙ্ক ইতিমধ্যে দেখেছি, এবং আমি kshrcকোনও ফল লাভ করার জন্য পরিবর্তিত করার চেষ্টা করেছি । আমি sh: /etc/kshrc[21]: trap: bad signal KEYBDপেয়েছি দুর্ভাগ্যক্রমে আমার কাছে আর একটি শেল বিকল্প নেই। আমি জানি না যে এটি পিডিকেএসএইচ বা কিউএনএক্স বা উভয়ই সমস্যা। আমি জানি কী কী সংমিশ্রণগুলির ফলে আমি চাই। এগুলি যথাযথ কীগুলিতে ম্যাপ করার জন্য আমার কেবল সিনট্যাক্সটি জানতে হবে।
কিমোর্ট

মুছে ফেলা কী আমার জন্য পিডিক্স (একই সংস্করণ, এটি গত শতাব্দীর পর থেকে রক্ষণ করা হয়নি) লিনাক্সের অধীনে কাজ করে। আপনার জন্য কি bind | grep prefixদেখায়? আর bind | grep '[^ -~]'?
গিলস 'অশুভ হওয়া বন্ধ করুন'

@ গিলস আমি আপনার বাইন্ড কমান্ডের ফলাফলগুলি আপডেট করেছি। এটি কি আমার পটিটি সেটিংস হতে পারে? আমি তোমার সাহায্য কে সাধুবাদ জানাই. :-)
কিঃমোর্ট

আফাইকের bind '^[[3~'='delete-char-forward'কাজ করা উচিত ছিল। আমি বুঝতে পারছি না those অ-এসসিআইআই অক্ষরগুলি কোথা থেকে আসছে (তারা 8 তম বিটের সেট সহ ESC + foo ক্রম নয়, ল্যাটিন 1 / utf8 বিভ্রান্তি নেই)। `বাইন্ড '^ X3 ~ = মুছে ফেলা-চর-ফরোয়ার্ড' কাজ করে?
গিলস 'দুষ্ট হওয়া বন্ধ করুন'

উত্তর:


6

গুগলারের জন্য:

রক্ষে। এমন কিছুর জন্য যা এত সহজ হওয়া উচিত, এটি কঠিন ছিল।

সংক্ষিপ্ত সমাধান (ইন ডিলিট কী সেট করতে নিম্নলিখিত ব্যবহার kshrcবা যেখানেই),

bind '^[[3'=prefix-2
bind '^[[3~'=delete-char-forward

এবং এর rxvtপরিবর্তে আপনার পটিটি টার্মিনাল সেটিংস সেট করুন Standard

পটিটি সেটিংস

এই জিনিসটি আমাকে এই কাজটি করতে সত্যই সহায়তা করেছিল: http://www.mail-archive.com/misc@openbsd.org/msg81796.html

ksh হোম এবং শেষ কীগুলি দিয়ে মূর্খ জিনিসগুলি করে। মূলত, আমি এটি একই সাথে হোম, শেষ এবং মুছুনের মধ্যে পার্থক্য বলতে পারি না। সর্বশেষ যা আবদ্ধ ছিল, তিনটি কীই করত। এই কীগুলির জন্য পিটিটি কী প্রেরণ করেছে তা পরিবর্তন করে প্রচুর সহায়তা করেছে।

দ্রষ্টব্য: কিছু লোক পরামর্শ দিচ্ছে যে আপনি কী টিপলে শেলটি কী কোড পাচ্ছে তা দেখতে চান, টাইপ করুন cat, এন্টার টিপুন, তারপরে কীটি টিপুন। আমার শেলটির জন্য, এটি কার্যকর হয়নি। আমি ~সমস্ত নিয়ন্ত্রণ কী পেয়েছি । পরিবর্তে আমি যা করেছি তা Escএকবার চাপুন , তারপরে কীটি টিপুন। নিয়ন্ত্রণ কোডটি তখন প্রদর্শিত হবে show এই নিয়ন্ত্রণ কোডটি ব্যবহার করুন bindএবং আপনি সব প্রস্তুত।


আমি নিশ্চিত করতে পারি যে এটি কোনেমু + সিগউইনেও কাজ করে।
জানাক মীনা

2

[যদিও আমাদের কিছুটা আলাদা সেটআপ রয়েছে, আমি আশা করি যে নিম্নলিখিত কিছু সাধারণ ব্যবহার করতে পারে, কারণ আমি মনে করি একই সাধারণ কিছু নীতি প্রয়োগ হয় apply লিনাক্স কীভাবে বেসিক টার্মিনাল i / o পরিচালনা করে সে সম্পর্কে এটি আমার পক্ষে একটি ভাল শিক্ষার অভিজ্ঞতা হিসাবে প্রমাণিত]]

শেল যদি কোন জিনোম টার্মিনাল উইন্ডোর অভ্যন্তরে চলছে , তবে Preferences| Profilesএকটি প্রোফাইল নির্বাচন করুন, তারপর নির্বাচন Editএবং তারপর Compatibilityট্যাব, এবং পরিবর্তন Delete key generatesকরার Automatic। (বা যদি এটি অন্যান্য বিকল্পগুলি চেষ্টা করে তবে ব্যর্থ হয়))

[আমি দেবিয়ান স্ট্রেচে আছি।]


আমি জানি না কীভাবে, এমনকি ঠিক যখন আমার ডেলটি ভেঙে গেছে, তবে এটি ডান পরিবর্তে বাম মোছা শুরু করেছিল!

বিষয়গুলি কীভাবে কাজ করে তা বুঝতে এই নিবন্ধটি আমার পক্ষে খুব সহায়ক হয়েছিল


আমি উপরের লিঙ্কযুক্ত নিবন্ধে প্রস্তাবিত ডিবাগিং কৌশলগুলি ব্যবহার করেছি:

ফেরত টার্মিনাল সিকোয়েন্স কোডগুলি খুঁজতে টাইপ করুন ^v Delএবং ^v Backspace, [কন্ট্রোল-ভি তারপর কী মুছুন ...]।

এবং ব্যবহার showkey -s, showkey -k, showkey -aএবং তারপর Delএবং Backspaceকী তিনটি স্তর পরিদর্শন (কীবোর্ড থেকে কাঁচা, TTY চালক থেকে আউটপুট, এবং টার্মিনাল দেওয়া চরিত্র স্ট্রিং হিসেবে)।

এ থেকে আমি লক্ষ করেছি যে স্টটি ব্যবহার করার সময় (উদাহরণস্বরূপ stty1) এক্সটার্ম ব্যবহার করার সময় আমার শেল আচরণটি পৃথক ছিল (গ্রাফিকাল এক্স টার্মিনালের মধ্যে থেকে)। ডেল stty1 এ সঠিকভাবে ফরোয়ার্ড (ডান) মুছে ফেলা হয়েছে, তবে আমার এক্সটারেমের পিছনে (বাম)।


নিবন্ধটি একটি মৃত লিঙ্ক
দুধ

1

লিনাক্স (উবুন্টু 18.10) বাশ থেকে এসএসএইচ হয়ে সোলারিস 11.3 বাশে, জিনোম টার্মিনালটি ব্যবহার করে আমার কাছে বিদ্যমান দুটি উত্তর কাজ করে না।

আমি bindকমান্ডটি ব্যবহার করার দরকার পড়েছি , তবে একটি কাজ করার সাথে আমি কাজ করতে পারি না Deleteবলে কাজ করতে পারি।

তাই কাজ-প্রায় যে যখন Deleteটেপা হলে, এর অনুকরণ করতে ডিলিট কী টেপার ম্যাপিং দ্বারা একটি ডিলিট এবং Backspace

bind '"^[[3~":"^[[C^?"'

এটি টাইপ করতে, কী-টিপুন:

CTRL-vDeleteপ্রথম অংশ
এবং CTRL-vCTRL-vBackspaceদ্বিতীয় জন্য।
(বা \eপরিবর্তে পালানোর জন্য ব্যবহার করুন, যেমন "\e[3~":)

এটি নিখুঁত নয়, আপনি যদি Deleteশেষ প্রান্তে থাকেন তবে এটি এখনও ব্যাকস্পেসে চলে যায়। তবে এটি আমাকে ~দিনের বেশ কয়েকবার চরিত্রের ব্যাকস্পেস আউট করা বাঁচায় ।

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