আমি কি ভিএম এর কর্সার আচরণ পরিবর্তন করতে পারি?


11

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

এটি কেন একটি সমস্যা তা কেবল উদাহরণের জন্য, আমি যদি একটি লাইনের শেষ শব্দটি মুছতে চাই, আমি লাইনের $শেষ প্রান্তে যেতে এবং তারপরে dbপিছনে মুছতে হিট করি । এটি মুছে ফেলার জন্য একটি চরিত্র ছেড়ে দেয়, কারণ সত্যই লাইনের শেষ দিকে $যায়নি , এটি লাইনের শেষ চরিত্রে গিয়েছিল এবং বর্তমান চরিত্রের আগে যা ছিল তা মুছে ফেলে। সমস্যাটি এমন নয় যে আমাকে একটি অতিরিক্ত চরিত্র টাইপ করতে হবে, এটি সরল হওয়া উচিত যা করার ক্ষেত্রে অতিরিক্ত চিন্তাভাবনা জড়িত, যা আমার দৃষ্টি আকর্ষণ করে যা আমি আসলে সম্পাদন করার চেষ্টা করছি তা থেকে দূরে সরিয়ে দেয়।db

আমার কাছে মনে হয় যে আরও আধুনিক আইডিয়া কার্সার প্লেসমেন্টটি প্রতিটি উপায়ে উচ্চতর এবং আমি vimএই পদ্ধতির ব্যবহার করতে স্যুইচ করতে চাই । আমি নিশ্চিত যে কিছু হার্ড-কোর vimঅনুরাগীরা সে সম্পর্কে আমার দৃষ্টিভঙ্গির সাথে একমত নন, তবে যেহেতু vimএর শ্রেষ্ঠত্বের জন্য একটি মানক যুক্তি তার অসীম কনফিগারেশন:

  • এটি কি এই ক্ষেত্রে সরবরাহ করতে পারে?
  • পারি vimকার্সার রাখুন করা মধ্যে অক্ষর?

2
আপনি Insertমোডের সন্ধান করছেন বা normalমোডের বিন্দুটি হারিয়েছেন বলে মনে হচ্ছে । আমি করতে $dawবা $bdwস্বাভাবিক মোডে একটি লাইনে শেষ শব্দটি মুছতে চাই । ইন Insertমোড এবার কি করবো A<Ctrl-w>
jw013

3
রেকর্ডটির জন্য, যে কেউ "অক্ষরের মধ্যে" একটি নেটওয়ার্ল্ডের ধারণাটি দেখে ভীত হয়ে পড়েছে, বর্তমান লাইনে শেষ শব্দটি মুছে ফেলার সঠিক মূল ক্রমটি হল$bD
অ্যালান কারি

1
মাউস ব্যবহার করা আদর্শ নয়, তবে আপনাকে যখন থামাতে হবে এবং কী করতে চান তা কীভাবে করবেন তা ভাবতে হবে তখন উল্লেখযোগ্য অদক্ষতা আসে। আসল জিনিসটি যে মূল্যবান তা এখানে এবং সেখানে দ্বিতীয় নয়, তবে ফোকাস করুন । আপনি ফোকাস হারিয়ে ফেললে আপনি কয়েক সেকেন্ডের চেয়ে অনেক বেশি হারাবেন।
আইকনোক্লাস্ট

2
এখনও অবধি মন্তব্যগুলি থেকে মনে হচ্ছে প্রশ্নের উত্তর হ'ল "না, কার্সার চলাচলের এই মডেলটি অলঙ্ঘনীয়ভাবে ভিমের ডিজাইনে এম্বেড করা আছে এবং এটি পরিবর্তন করা যায় না।" এটা কি ঠিক?
আইকনোক্লাস্ট

2
@ আইকনোক্লাস্ট এটি আমার সিদ্ধান্তও। আমি যতদূর বলতে পারি, vi বা vim এ সমস্ত লাইনে সমস্ত অক্ষরকে সমানভাবে আচরণ করা অসম্ভব, সর্বদা প্রথম বা শেষ চরিত্রের ব্যতিক্রম থাকে।
গিলস 'অশুভ হওয়া বন্ধ করুন'

উত্তর:


5

আপনি পারেন :set virtualedit+=onemore, যা আপনাকে শেষ চরিত্রের অতীত যেতে দেয়। দুর্ভাগ্যক্রমে আপনার জন্য, $এখনও শেষ চরিত্রে যায়; এটি পাস করার জন্য আপনাকে কার্সার করতে হবে। অন্যদিকে, আপনি ব্যবহার করতে পারেন g$যা সাধারণত পর্দার লাইনের সর্বশেষ অক্ষরে যায় এমন একটি লাইনে যা আবৃত হয়; মধ্যে onemoreমোড এটি এইমাত্র কোনো অ- আবৃত লাইন (বা একটি আবৃত লাইনের শেষ পর্দা লাইন) নামের শেষ অক্ষরটি গত যায়।

:h 'virtualedit' বলেছেন এই বিকল্পটি স্ক্রিপ্টগুলিতে গোলযোগ করতে পারে, তবে বাস্তবে যে কত বড় ঝুঁকি তা আমি জানি না।

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