<এসএসএস> এর পরে কার্সারটি লাইনের শুরুতে কেন সরে যায়?


12

সন্নিবেশ মোডে .txt ফাইলের একটি লাইন ধরে সম্পাদনার সময় আমি লক্ষ্য করেছি যে কী ক্রমিকটি ব্যবহার করে একটি লেখার পরে কার্সারটি লাইনের শুরুতে চলে যাবে:

<esc>:w

আমি এই আচরণটি এমনভাবে পরিবর্তন করতে চাই যে কার্সারটি নিম্নলিখিতটির পরে নিম্নলিখিত অবস্থানে থাকবে: লিখুন write এটা কি সম্ভব? সন্নিবেশ মোডে থাকার জন্য আমার কার্সার লাগবে না, আমি লেখার পরে এটির শেষ অবস্থানটি বজায় রাখতে চাই।

আমি উইন্ডোজে জিভিএম 7.4 ব্যবহার করছি। আমার .vimrc খুব বেসিক, আমি বিশ্বাস করি না যে আমার কোনও সেটিংস এই আচরণে হস্তক্ষেপ করে। আমি আমার .vimrc (অফিসিয়াল vim.org উইন্ডোজ ইনস্টলারটির সাথে বান্ডিল করা হিসাবে) থেকে এমএসউইন.ভিম এবং উদাহরণ.ভিম এর সসিংসও সরিয়েছি।

নীচের মন্তব্যগুলি পড়ার পরে আমি আবার সমস্যাটি দেখেছি এবং বুঝতে পেরেছি যে লাইনগুলিতে সম্পূর্ণ লেখার পরে সাদা স্থান তৈরি করে লাইনগুলিতে একটি লেখার পরে কার্সারটি কেবলমাত্র বাম দিকে স্লাইড হয়েছে। অন্য কথায়, কার্সারটি কেবল এস্কো: ডানদিকে খুব বাম দিকে স্লাইড হয় যখন লাইনটি ফাঁকা স্থান ছাড়াও অন্য কোনও অক্ষরবিহীন হ্যান্ডিং ইন্ডেন্ট হয় । .Vimrc এই সেটিংসের সাহায্যে ইনডেন্ট আচরণগুলি পরিচালনা করছে:

set tabstop=4
set softtabstop=4
set shiftwidth=4
set expandtab
set autoindent 

সুতরাং, একটি ইন্ডেন্টেড লাইনের নীচে তৈরি একটি নতুন রেখার লাইনের প্রথম 4 স্পেস (যা আমি রাখতে চাই) হিসাবে 4 টি পিছনে সাদা স্পেস থাকবে। 'এস্ক' কী টিপলে কার্সারটি স্লাইডগুলি বাফারের ডানদিকে বাম দিকে যেতে হবে।

সাদা মোড়কে (ইনডেন্টেশন হিসাবে) অনুসরণ করে তৈরি লাইনে স্বাভাবিক মোডে ফিরে আসার জন্য 'এসসি' দিয়ে আঘাত করার পরে কি কার্সার অবস্থান ধরে রাখা যায়?


3
আমি কোনও প্ল্যাটফর্মে ভিমের মধ্যে এই আচরণটি কখনই লক্ষ্য করিনি ... আপনি জিভিমের মতো শুরু করলে কী হয়: gvim -u NONE -U NONE(আপনি হয় সেমিডি.এক্সই ব্যবহার করতে পারেন, বা একটি শর্টকাট তৈরি করতে পারেন)? এটি আপনার (ছ) ভিএমআরসি ফাইল লোড করা রোধ করবে।
মার্টিন টর্নয়েজ

1
এটি কি আপনার সম্পূর্ণ ভিএমআরসি ফাইল? আমার প্রথম সন্দেহটিটি হ'ল আপনার ভিআইএমআরসি ফাইলে একটি অটোকিমিডি ট্রেলিং হোয়াইটস্পেস সরিয়ে ফেলছে। আপনি যখন কোনও ভিআইএমআরসি ফাইল ছাড়াই জিভিম শুরু করেন (উপরের মন্তব্যটি দেখুন) তখন কী আচরণটি পরিবর্তন হবে?
মার্টিন টর্নয়েজ

উপরেরটি আমার সম্পূর্ণ নয়। ভিএমআরসি, অন্যান্য সেটিংসও রয়েছে। .Vimrc (: স্ক্রিপ্টনামগুলি .vimrc বা .gvimrc প্রদর্শন করে না) ছাড়া gVim চালানো আমার সমস্যা সমাধান করে। আপনি একেবারে ঠিক বলেছেন, আমার আমার। ভিআইএমআরসি বা অন্য কোনও কিছুর মধ্য দিয়ে সন্ধান করা দরকার যা এটির কারণ হতে পারে।
জিম

দৃশ্যত হোয়াইটস্পেস-অন-নতুন-লাইনের এই বর্জন আমি পড়া করছি একটি আকাঙ্খিত আচরণ, এখানে ফাইল হোয়াইটস্পেস এর ত্রুটি মুক্ত রাখার বিষয়ে বোঝানো হচ্ছে।
জিম

এটি নতুন লাইন খোলার বিষয়ে ... কোনও ফাইল লেখার বিষয়ে নয়?
মার্টিন টর্নয়েজ

উত্তর:


11

অটোইন্ডেন্টের জন্য ডকুমেন্টেশনগুলি দেখার জন্য কেন এর কেন এবং কীভাবে কাজ করা যায় তার একটি উত্তর রয়েছে। :help 'autoindent':

নতুন লাইনটি শুরু করার সময় বর্তমান লাইন থেকে অনুলিপি অনুলিপি করুন ( <CR> সন্নিবেশ মোডে টাইপ করা বা "o" বা "O" কমান্ড ব্যবহার করার সময়)। আপনি ছাড়া নতুন লাইন কিছু টাইপ না থাকে তাহলে <BS>অথবা CTRL-Dএবং তারপর টাইপ করুন <Esc>, CTRL-Oবা <CR>, ইন্ডেন্ট আবার মুছে ফেলা হয়। কার্সারটিকে অন্য লাইনে স্থানান্তরিত করার একই প্রভাব রয়েছে, যতক্ষণ না 'আই' পতাকাটি 'সিপোপশনস'-এ অন্তর্ভুক্ত করা হয়।

অন্য কথায়, আপনি যদি চান যে এটি ইন্ডেন্টটি না হারাতে পারে তবে কিছু টাইপ করুন এবং তারপরে আঘাতের আগে এটি ব্যাকস্পেস করুন Escএবং শীর্ষস্থানটি স্পেস থাকবে।

বিকল্পভাবে, আপনি যদি সন্নিবেশ মোডে ফিরে যান এবং 'cindent'পাশাপাশি ব্যবহার করতে চান তবে আপনি যদি কেবল ইন্ডেন্ট-স্তরে ফিরে আসতে চান তবে Shift-Sপরিবর্তে ব্যবহার করুন i, যা (ইতিমধ্যে খালি) লাইনটি সাফ করবে এবং উপযুক্ত ইন্ডেন্টেশন স্তরে শুরু হবে start এটি উপরের মত সাধারণ সমাধান নয়, তবে আমি সি কোডটি লেখার সময় এটিকে পছন্দ করি, যাতে আমার ফাইলগুলি কেবলমাত্র শ্বেত-স্থানের লাইনেই সংরক্ষণ না হয়।


এটি মূল ডকুমেন্টেশন থেকে আমার প্রশ্নের সুনির্দিষ্ট উত্তর is সংক্ষিপ্তসার এবং বিবরণের জন্য ধন্যবাদ - আমি এই তথ্যের জন্য সন্ধান করতে ভেবে দেখিনি: আলোচনার জন্য সমাধানের দিকে নিয়ে যাওয়ার জন্য @ কার্পেটস্মোকারকেও ধন্যবাদ।
জিম

সন্নিবেশ মোড না রেখে, তবে ইন্ডেন্টেশন চালিয়ে যাওয়ার জন্য আমি ও ও ওকে রিম্যাপ করার সাথে জড়িত একটি সমস্যার সমাধান করেছে। এটি nnoremap o o <BS><Esc><DEL>nnoremap O O <BS><Esc><DEL>
করেই করা যায়

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