স্বাভাবিক মোডে ফিরে আসার পরে কি ভিএম স্বয়ংক্রিয়ভাবে ক্যাপস্লকটি বন্ধ করতে পারে?


13

প্রায় প্রতিটি সময় আমি ক্যাপগুলিতে কিছু টাইপ করার পরে, স্বাভাবিক মোডে ফিরে আসার সময় ক্যাপসলকটি বন্ধ করতে ভুলে যাই। আমি তারপরে কার্সারটি সরানোর চেষ্টা করি এবং একসাথে অনেকগুলি লাইন এবং অন্যান্য অনেক কিছুতে যোগদানের চেষ্টা করি যা আমি আশা করি না।

যখন আমি নরমাল মোডে প্রবেশের জন্য এস্কেপ টিপব তখন ক্যাপসলক বন্ধ করার জন্য কি ভিআইএম কনফিগার করা সম্ভব?

যদি ওএস-নির্দিষ্ট সমাধান থাকে তবে আমি লিনাক্সের ক্ষেত্রে প্রযোজ্য সেগুলিতে আগ্রহী।


এই আমার "সমাধান" ক্যাপ "কোনো পদক্ষেপ" (MacOS) হিসেবে আমি ভুল ছাড়া এটি ব্যবহার করবেন না লক remap ছিল
localhostdotdev

উত্তর:


8

এই প্রশ্নের প্রতিক্রিয়াগুলি ইঙ্গিত দেয় যে এটি সম্ভবত না - ভিমে সেই কল করতে OS এর অ্যাক্সেস নেই।

তবে ক্যাপস লকের প্রয়োজন না হয় সেজন্য আপনি নিজের আচরণ পরিবর্তন করার চেষ্টা করতে পারেন। এটা তোলে ম্যাপ একটি জনপ্রিয় কী Ctrl, Escবা Meta

ভিমের কাছে gUএকটি নির্বাচন বা গতি বড় আকারের করতে অপারেটর রয়েছে , যাতে সম্ভবত আপনি সাধারণত টাইপ করতে পারেন এবং পরে এটি ব্যবহার করতে পারেন। প্রাসঙ্গিক: guছোট এবং ~টগল করার জন্য।

স্বতঃপূরণ করার উপায়গুলিও রয়েছে, যা আপনার টাইপ করার প্রয়োজনীয়তা হ্রাস করতে পারে VERY_LONG_MACRO_NAMES


4

আমি আমার ক্যাপসলকটি সিটিআরএল হতে পুনরায় তৈরি করেছি এবং আমি ক্যাপস্লকটি খুব কমই ব্যবহার করি। যাইহোক, ভিমের জন্য যদি আমার কখনও প্রয়োজন হয় তবে আপনার কাছে সফ্টওয়্যার অস্থায়ী ক্যাপসলক হিসাবে টিপপ / ভিম-ক্যাপস্লক রয়েছে । আপনি যদি এটি ব্যবহার করেন তবে ইভেন্টটির জন্য একটি অটোকিমডি সেটআপ করা InsertLeaveএবং ক্যাপসলকটি অক্ষম করা মোটামুটি সহজ হওয়া উচিত ।


3

আমি স্বয়ংক্রিয়ভাবে স্বাভাবিক মোডে ক্যাপস লক বন্ধ করার একটি উপায় খুঁজে পেয়েছি (যদিও এটি কেবল লিনাক্সে কাজ করে)।

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

স্বাভাবিক মোডে প্রবেশের পরে আসলে কোনও অটোকমেন্ড ইভেন্ট সক্রিয় হয় না, সুতরাং আমি পরিবর্তে ব্যবহৃত CursorHoldইভেন্টটি ইভেন্ট ছিল , আপনি যখন সাধারণ মোডে টাইপ করবেন না তখন সক্রিয় হয়।

au CursorHold * call TurnOffCaps()
set updatetime=10

আপনি আপডেটের সময়টিকে খুব অল্প সংখ্যায় সেট করেছেন, তাই আপনার কাছে কোনও কিছু টাইপ করার সুযোগ পাওয়ার আগে এটি সর্বদা সক্রিয় হবে।

function TurnOffCaps()  
    let capsState = matchstr(system('xset -q'), '00: Caps Lock:\s\+\zs\(on\|off\)\ze')
    if capsState == 'on'
        silent! execute ':!xdotool key Caps_Lock'
    endif
endfunction

আমি মনে করি এটিই প্রশ্নের একমাত্র আসল উত্তর। কোনওভাবে ক্যাপসলকটি চালু করতে ভিমে ওএসকে কল করতে হবে। অবশ্যই এটি কীভাবে করা হয় তা ওএসের উপর নির্ভর করবে।
অক্টোবায়ুর

2

অন্য বিকল্পটি আপনার পুনরায় তৈরি CapsLockকরা Esc। এটি আমি কয়েক বছর ধরে ব্যবহার করে আসছি এমন একটি ম্যাপিং: CapsLockএকটি হোম সারিতে, সুতরাং আপনি যদি টাইপ করেন তবে এটি ব্যবহার করা সত্যিই সহজ। এটি যথাযথ ভিম ব্যবহারকেও উত্সাহ দেয়, যেহেতু সন্নিবেশ মোড থেকে বেরিয়ে আসা খুব সহজ (চাবিটি এর চেয়ে বেশি কাছে Esc)।

এটি পুনর্নির্মাণ করা সহজ: লিনাক্স এটিকে স্থানীয়ভাবে সমর্থন করে, ম্যাক ওএস এক্স এবং উইন্ডোজের জন্য এটি সম্পাদন করার জন্য ছোট ছোট অ্যাপ রয়েছে। এবং কিছু ব্যয়বহুল কীবোর্ড এমনকি এমন বৈশিষ্ট্য নিয়ে আসে যা পুনরায় সারণী কীগুলিকে অনুমতি দেয়।


2

অ্যাভিয়ান ওয়াইয়ের উত্তর ছাড়াও, আসলে একটি অটোম্যান্ড রয়েছে যা সন্নিবেশ মোড রেখে সক্রিয় করে:

au InsertLeave * call TurnOffCaps()

আমিও ঠিক তাই খুঁজছিলাম ...


1

আমার অ্যাপল মেশিনে, আমি কারাবাইনার ব্যবহার করে এই বৈশিষ্ট্যটি বাস্তবে প্রয়োগ করেছি , যা যুক্তিসঙ্গতভাবে ভাল কাজ করেছে। দুর্ভাগ্যক্রমে 10.12 কারাবাইনারকে ভেঙেছে এবং আমি এর পর থেকে এটি প্রয়োগ করার চেষ্টা করিনি।

আমার যদি এটি আগে সক্ষম করা হয় তবে এটি এস্কেপ কী বা এন্টার কী অক্ষম ক্যাপস লকটি ব্যবহার করে এনেছি।

সুতরাং আপনি যখন 10.11 বা তার নিচে ম্যাকোস ব্যবহার করছেন, আপনি অবশ্যই এটি করতে পারেন (যদিও আমাকে সেটিংসের জন্য জিজ্ঞাসা করবেন না, আমার আর সেগুলি নেই)।

অন্যথায় আমি প্রস্তাব সঙ্গে যেতে হবে gU। (যদিও আমি আপনার অভিযোগগুলি বুঝতে পারি, অন্য যে কোনও পাঠ্য সম্পাদকের ক্ষেত্রে আপনি যে একই পদ্ধতি ব্যবহার করবেন তা ব্যবহার করতে সক্ষম না হওয়া সম্পর্কে)


0

ভিআইএম সহায়তা ম্যানুয়ালটিতে একটি শব্দ সমস্ত শব্দকে inোকানো মোডে তৈরি করতে খুব সুন্দর ম্যাপিং রয়েছে:

inoremap <c-h> <esc>gUiw`]a

এটি ব্যবহার করে ctrl-h, যা সাধারণত একটি ব্যাকস্পেস ক্লোন, তাই আপনি এই ম্যাপিংয়ের সাহায্যে কিছুই হারাচ্ছেন না।

আপনি যখন সাধারণ মোডে থাকবেন তখন ক্যাপস লক একটি দুঃস্বপ্ন! আমি আশা করি এটি সাহায্য করবে!

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