লগইন থেকে লগইন করতে ধারাবাহিকভাবে আচরণ করা ইতিহাস ব্যবহার করে zsh স্বতঃপূরণ হয় না কেন?


0

আমার .zshrc এ নিম্নলিখিত লাইনগুলি যুক্ত করার পরে:

autoload -U up-line-or-beginning-search
autoload -U down-line-or-beginning-search
zle -N up-line-or-beginning-search
zle -N down-line-or-beginning-search
bindkey "^[[A" up-line-or-beginning-search
bindkey "^[[B" down-line-or-beginning-search

আমি exec zsh(zsh থেকে) দৌড়েছি , এবং উপরের লাইনগুলি কার্যকর হয়নি। আমি তখন নিম্নলিখিতটি করেছি (নিশ্চিত না যে এই প্রসঙ্গটি প্রয়োজনীয়, তবে সম্ভবত প্রাসঙ্গিক): exitআমাকে আমার লগইন শেল (ব্যাশ) এ ফিরে যেতে exit, লগ আউট করতে, তারপরে লগ ইন করতে, তারপরে এবং তারপরে উপরের লাইনগুলি কাজ করছিল।ssh machineexec zsh

কোন এক কেন জানেন না?

সম্পাদনা

আমার শিরোনাম প্রশ্নটি ভুল ছিল। দেখা যাচ্ছে যে .zsh লগইন থেকে লগইন থেকে উপরোক্ত লাইনগুলি সম্পর্কে লঙ্ঘনমূলক আচরণ করছে। কখনও কখনও তারা আশানুরূপ কাজ করে, কখনও কখনও তা করে না। আমি একটি প্যাটার্ন সন্ধান করার চেষ্টা করেছি, কিন্তু পারছি না। আমি মনে করি (তবে নিশ্চিত নই) লগইনটি মূল হিসাবে একবার sshমেশিনে প্রবেশ করার পরে, বিভিন্ন zsh উদাহরণকে বিবেচনা না করেই আচরণটি একই থাকবে বলে মনে হয়।

থেকে আউটপুট read (up) (down)সবসময় একই হয় যেমন আউটপুট আসে history 0এবং উপরে এবং নীচে তীরগুলি অন্যথায় নিজেদের আচরণ করে বলে মনে হয়।

ব্যর্থ মামলার জন্য - হতে পারে এবং দরকারী তথ্য হতে পারে না (আমি এখন এটি কিছুক্ষণের জন্য এটি কাজ করতে সক্ষম হইনি):

%bindkey | grep 'or-beginning'
"^[[A" up-line-or-beginning-search
"^[[B" down-line-or-beginning-search
%zmodload | grep zle
zsh/zle
%up-line-or-beginning-search
up-line-or-beginning-search:zle:19: widgets can only be called when ZLE is active
up-line-or-beginning-search:zle:21: widgets can only be called when ZLE is active
%read
^[[A^[[B^C% (up,down,ctrl-c)

এটি প্রশ্নের সাথে প্রাসঙ্গিক নয়, তবে আপনি কেবল source .zshrcপরিবর্তে কেন করেননি ?
মিষ্টান্ন

@ ডিজিটার - আমি পড়েছি যে sourceএটি কিছু ক্ষেত্রে একটি নতুন শেলের মতো নয় এবং অস্পষ্টতা এড়াতে চেষ্টা করছিলাম (অসফলভাবে, এটি দেখা যাচ্ছে)
zzxyz

@ ডেজার্ট আমি সাবধান করব যে উত্তরটি বা মন্তব্যে প্রশ্নটি প্রায়শই ভাল করা হয়; প্রশ্নকর্তাকে এমন পরিভাষা ব্যবহার করা যাক যা তাদের বোঝায়। উত্তর এবং মন্তব্যে সংশোধনগুলি ভবিষ্যতের পাঠকদের দ্বারা দেখা যাবে যারা এখানে একই শব্দ ব্যবহারের মাধ্যমে আসে।
জেফ শ্যাচলার

@zzxyz এটি আসলে কোনও উত্তর নয় তবে মিষ্টান্ন কী বলেছে তা যুক্ত করার জন্য: আপনি resetআগে কল করতে পারেন source .zshrc
সিআরপিএন

1
@ জেফশালার ঠিক আছে, তবে আমি কেবল এই সম্পাদনার পরামর্শ দিয়েছি, ওপি নিজেই এটি অনুমোদিত করেছেন।
মিষ্টান্ন

উত্তর:


2
% echo echo echo >> ~/.zshrc
% exec zsh
echo
% 

সুতরাং একটি exec zshপ্রকৃতপক্ষে চালানো নেই echoশুধু যোগ করা ~/.zshrc। সম্ভবত চালানো

zsh -ixc exit >grepthis 2>&1

এবং তারপরে grepthisআপনার লাইনগুলি পড়া হয়েছিল কি না, বা bindkeyপরে সম্পর্কিত অন্যান্য কিছু ঘটেছে কিনা তা পরীক্ষা করে দেখুন বা ...


কি করে -x? এটা ভিতরে না man zsh
সিআরপিএন

1
@ সিআরপিএন zoptions(1)তাদের সমস্ত দেখতে বা অনুসন্ধান করুনzshall(1)
ট্রিগার করুন

ধন্যবাদ, পেয়েছি এছাড়াও, একই ইস্যু সহ যে কারও জন্য: পুনঃনির্দেশ command 2>&1 >logfileআমার উপর কাজ করে না zshতবে নিম্নলিখিত শর্টকাটটি সমান এবং কাজ করে:command &>logfile
সিআরপিএন

হ্যাঁ, আমার টার্মিনালটি আউটপুট দিয়ে জমে উঠেছে। আমি এর উপর দিয়ে যেতে কয়েক মিনিট সময় ব্যয় করেছি, কিন্তু ব্যর্থতা এবং সাফল্যের মামলার মধ্যে ঘৃণ্য বা ভিন্ন কিছুই দেখিনি। উভয়ই আমার .rc (শেষের দিকে) থেকে প্রাসঙ্গিক লাইনগুলি আউটপুট দেয়
zzxyz

1
@ সিআরপিএন ওহ ওফস> 2> & 1 এর বাম দিকে ঘটতে হবে
ট্রিগার করুন

0

কেন এটি কখনও কখনও কাজ করে তা আমি এখনও জানি না, তবে নিম্নলিখিতগুলি আমাকে সহায়তা করেছিল: http://zshwiki.org/home/zle/bindkeys

মূল ক্রম স্থির জিনিস হিসাবে হিট '<ctrl-v><up>'(বরং "^[[A")। ভাগ্যক্রমে এটি ভিমেও কাজ করে।

<ctrl-v><up>ক্রম মুদ্রণযোগ্য, কিন্তু না সরাসরি typable হল: 0x1B 0x4F 0x42

এছাড়াও, (যেমন নিবন্ধটিও বলেছে), কিছু সহজ কীগুলির জন্য বন্ধুত্বপূর্ণ বাইন্ডিং রয়েছে যা আমার সিস্টেমে সংজ্ঞায়িত হয়েছে /etc/zsh/zshrc

সুতরাং আমার সিস্টেমে নিম্নলিখিতগুলিও কাজ করে:

bindkey "$key[Up]" up-line-or-beginning-search

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