সন্নিবেশ মোডে ভিম স্টক


52

আমি এখন আমার ওয়েব হোস্টের মাধ্যমে বেশ কয়েক মাস ধরে ভিম ব্যবহার করছি (তারা পুটি অ্যাক্সেসের অনুমতি দেয়)। হঠাৎ করেই, escapeচাবিটি প্রতিক্রিয়াহীন হয়ে উঠেছে। আমি কেবল পালাতে পেরে sertোকানো বা অন্য কোনও মোডের অস্তিত্ব রাখতে পারি না। আমাকে আঘাত করতে হবে F1যা ভিএম-এ সহায়তা নিয়ে আসে এবং আমাকে কমান্ড মোডে লাথি দেয়।

আমি নিশ্চিত যে আমার কীবোর্ডে আমার এস্কেপ কীটি ঠিকঠাকভাবে কাজ করছে যেহেতু আমার সমস্ত উইন্ডোজ শর্টকাটগুলি যা পালানোর কী ব্যবহার করে সাধারণত চালিত হয়।

আমি জানি এটি একটি হাস্যকর প্রশ্ন এবং আমি নিশ্চিত যে এর সমাধান সম্পর্কে আরও অনেক কিছু দেখার দরকার রয়েছে। আমার সত্যিকার অর্থে যা দরকার তা হ'ল সন্ধান শুরু করার জন্য একটি শক্ত নেতৃত্ব।

যে জিনিসগুলি সাহায্য করতে পারে:

  1. আমি পুট্টির মাধ্যমে ভিএম ব্যবহার করছি
  2. আমি জেলশেল ব্যবহার করে লগ ইন করছি
  3. আমি মূল নই

আপনার টার্মিনাল সেটিংস কি? অর্থাত্ (রিমোট শেলের মধ্যে) TERM এনভায়রনমেন্ট ভেরিয়েবলটি ঠিক কী?
কোয়াকোট কোয়েসোট

ER

নেই Ctrl-[কাজ করে? আপনি যদি প্রেস করেন Ctrl-vতবে কী পালাতে হবে? এটি হিসাবে দেখাতে হবে ^[
ডেনিস উইলিয়ামসন

Ctrl- [কাজ করেছে। মন মাতান! এটি আমার অনেক হতাশাকে বাঁচায়। এমন কোনও সুযোগ আছে যা আপনি ব্যাখ্যা করতে পারেন যে কেন escআর কাজ করে না? এছাড়াও, দয়া করে উত্তর হিসাবে আপনার মন্তব্য পোস্ট করুন যাতে আমি এটি গ্রহণ করতে পারি।
লেভি হ্যাকউইথ

এটি পড়ার সময় আমার প্রথম চিন্তা ছিল: "ওহ সে তার 'আমাকে হ্যাকটি এখান থেকে সরিয়ে দাও' বোতামটি ভেঙে দিয়েছে"
ড্যানিয়েল

উত্তর:


16

এর Ctrl-[পরিবর্তে ব্যবহার করার চেষ্টা করুন Esc

এর ফলাফল কী:

python -c "print ord(raw_input('char '))"

আপনি Escআর কখন চাপবেন Enter? এটি "27" হওয়া উচিত। চাপ দেওয়ার Ctrl-Vপরে কী হয় Esc?

আপনি কি পটিটিতে সমস্ত সেটিংস যুক্তিসঙ্গত কিনা তা পরীক্ষা করে দেখেছেন?

আপনি কি রিমোট সিস্টেমে ব্যাশ ব্যবহার করছেন? এর আউটপুট দেখুন

bind -p | grep -i '\\e' | less

এবং আপনি যদি অস্বাভাবিক কিছু দেখেন তবে দেখুন। আপনার কাছে কি ফাইল আছে ~/.inputrc? কিছু অস্বাভাবিক কিনা তা দেখতে এর বিষয়বস্তুটি দেখুন।

আপনার তাকান ~/.vimrcএবং দেখুন সবকিছু ঠিক আছে কিনা।


Ctrl-c এর পাশাপাশি সন্নিবেশ-মোডটিও শেষ করা উচিত ('[' কিছু সময় কিছু কী-বোর্ডে
আকিরা

1
আমি অজগর স্ক্রিপ্টটি চালিয়েছি এবং এটি খালি স্ট্রিং হিসাবে ফিরে এসেছিল। আমি কিভাবে এটা ঠিক করব? আমি পুট্টি ব্যবহার করছি।
কিথ

@ কিথ: আপনি অন্যান্য ডায়াগনস্টিক পরামর্শগুলির কোনও চেষ্টা করেছেন?
ডেনিস উইলিয়ামসন

সিটিআরএল + [যে কোনও কারণেই আমার পক্ষে কাজ করেছে, আমার ভিম আটকে যাওয়ার জন্য আমি কী করেছি সে সম্পর্কে কোনও ধারণা নেই।
ডেরেক অ্যাডায়ার

147

আমি ভুলভাবে Ctrl+ টি আঘাত করেছি s, এবং সন্নিবেশ মোডে আটকে গিয়েছি। এটি থেকে বেরিয়ে আসার জন্য Ctrl+ ব্যবহার করুন q


7
এটি সন্নিবেশ মোড না XOFF। আপনি সফটওয়্যার প্রবাহ নিয়ন্ত্রণ অক্ষম করতে পারেন stty -ixon(এটি এতে আপনার যুক্ত করুন ~/.bashrc)। তারপরে সেই কীস্ট্রোকটি অন্য কোনও কিছুর সাথে আবদ্ধ থাকার জন্য উপলব্ধ থাকবে। বাশ-এ ডিফল্টরূপে এটি আবদ্ধ forward-search-history(Ctrl-r এর বিপরীতে)। Ctrl-q (বাশ quoted-insert) এছাড়াও উপলব্ধ হবে also
ডেনিস উইলিয়ামসন

@DennisWilliamson চাই .bash_profileএকটি ভাল জায়গা হবে? অ-ইন্টারেক্টিভ শেল এটিকে বন্ধ করার দরকার নেই, তাই না?
পাইওটর ডব্রোগোস্ট

1
@ পাইওটারডব্রোগোস্ট: "লগইন শেল নয় এমন একটি ইন্টারেক্টিভ শেলটি শুরু করা হলে, বাশ / .bashrc থেকে কমান্ডগুলি পড়ে এবং কার্যকর করে, যদি সেই ফাইলটি বিদ্যমান থাকে।" .bash_profileবাশ লগইন শেল হলে কেবল কার্যকর হয়। "সুতরাং, সাধারণত, আপনার ~ / .Bash_ প্রোফাইলে লাইন থাকে if [ -f ~/.bashrc ]; then . ~/.bashrc; fi"
ডেনিস উইলিয়ামসন

@ ডেনিস উইলিয়ামসন আপনি ঠিক বলেছেন আমি যা বলতে চাইছিলাম তা হ'ল কেবল ইন্টারেক্টিভ শেলগুলিতে সফ্টওয়্যার ফ্লো কন্ট্রোলটি অক্ষম করার বোধগম্যতা রয়েছে। যদি এটি সত্য হয় তবে পরবর্তীকালে শেলটি ইন্টারেক্টিভ বা কেবলমাত্র এক্ষেত্রে সফ্টওয়্যার প্রবাহ নিয়ন্ত্রণকে অক্ষম করে কিনা তা বলার উপায় খুঁজে বের করা বুদ্ধিমানের কাজ।
পাইওটার ডব্রোগোস্ট 20 'এ 5'14

@ পাইওটারডব্রোগোস্ট: আমার উত্তরটি দেখুন "" যদি শেল ইন্টারেক্টিভ মোডে চলতে থাকে তবে আমি কীভাবে ব্যাশ পরীক্ষা করতে পারি? "
ডেনিস উইলিয়ামসন

4

হতে পারে আপনি সন্নিবেশ মোডটি ব্যবহার করছেন ।

'insertmode' 'im' 'noinsertmode' 'noim'
boolean (default off) ভিমকে এমনভাবে
কাজ করে যাতে সন্নিবেশ মোডটি ডিফল্ট মোড। আপনি যদি ভিএমকে একটি মোডলেস সম্পাদক হিসাবে ব্যবহার করতে চান তবে দরকারী। | ইভিম | এর জন্য ব্যবহৃত।
[...]
- CTRL-Oএকটি সাধারণ মোড কমান্ড কার্যকর করতে ব্যবহার করুন | i_CTRL-O |)। এটি যখন কোনও ম্যাপিং হয়, তখন এটি কার্যকর করা হয় যেন 'ইনসার্টমোড' বন্ধ ছিল। ম্যাপিং শেষ না হওয়া পর্যন্ত সাধারণ মোড সক্রিয় থাকে। - CTRL-Lবেশ কয়েকটি নরমাল মোড কমান্ড কার্যকর করতে ব্যবহার করুন , তারপরে Escসন্নিবেশ মোডে ফিরে আসতে ব্যবহার করুন। নোট করুন যে CTRL-Lকার্সারটি বামে সরানো হয়, যেমন 'সন্নিবেশমোড' সেট না করা হয় like | i_CTRL-এল |

আমি ~/.vimrcনিম্নলিখিত লাইনটি যুক্ত করতে সম্পাদনা করার পরামর্শ দিচ্ছি :

set noinsertmode         "disable insert mode

1
আমার ক্ষেত্রে এটি সন্নিবেশ মোডে আটকে গেছে কারণ আমি দুর্ঘটনাক্রমে কমান্ডলাইনটিতে `-y used ব্যবহার করেছি manual যেমন ম্যানুয়ালটিতে বলা হয়েছে: -আমি কার্যকর মোমে উইম শুরু করি, ঠিক তেমনই এক্সিকিউটেবলকে" ইভিম "বা" ইভিউ "বলা হয়। ভিমকে ক্লিক-টাইপ সম্পাদক হিসাবে আচরণ করে। এই "আরাম মোড" এর থেকে বের হতে মাত্র ব্যবহার <kbd> Ctrl </ kbd> + + <kbd> ঠ </ kbd> (এল ছোট হাতের) হিসাবে + + SandRock বলেছেন
টন

0

আমার এই সমস্যাটি ছিল, তবে বুঝতে পেরেছি এটি দুর্ঘটনাক্রমে এসসিআইএম ইনপুট মোডটি "অন্যান্য - র কড" এ পরিবর্তন করা। আমি এটিকে আবার ইংরাজী / কীবোর্ডে পরিবর্তন করেছি এবং কোনও সমস্যা হয়নি problems

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