"ইউ" এবং "সিটিএল-আর" ব্যবহার করার সময় ভিএম কীভাবে একটি একক "সম্পাদনা" এর আকার নির্ধারণ করবেন?


17

যখন ব্যবহার uবা CTL-Rপূর্বাবস্থা বা তেজ মধ্যে একটি সম্পাদনা পুনরায় না, আমি লেখার দ্বিতীয় খন্ডে, শুধু সাম্প্রতিকতম কীস্ট্রোক বলে মনে হচ্ছে।

একক সম্পাদনা হিসাবে বিবেচিত হওয়া অংশটির আকারটি কী নির্ধারণ করে?

উত্তর:


19

আপনি সংজ্ঞা খুঁজছেন undo-blocks

থেকে :h undo-blocks:

একটি পূর্বাবস্থায়িত কমান্ড সাধারণত টাইপড কমান্ডটি পূর্বাবস্থায় ফিরে আসে, এই আদেশটি যতই পরিবর্তন করে। পূর্বাবস্থায় সক্ষম সক্ষম এই ক্রম একটি পূর্বাবস্থায় অবরুদ্ধ হয়। সুতরাং যদি টাইপযুক্ত কী (গুলি) কোনও ফাংশন কল করে তবে ফাংশনের সমস্ত কমান্ড একসাথে পূর্বাবস্থায় ফিরে আসে।

একই ব্লক ব্যবহার করা হয় redo। থেকে :h redo:

শেষ পরিবর্তনগুলি স্মরণ করা হয়। প্রতিটি পরিবর্তনের আগে পাঠ্যটি কেমন ছিল তা ফিরিয়ে দিতে আপনি উপরের পূর্বাবস্থায় ফিরে আসা এবং পুনরায় কমান্ডগুলি ব্যবহার করতে পারেন। পূর্বাবস্থায় ফিরার আগে আপনি আবারও পরিবর্তনগুলি প্রয়োগ করতে পারেন।


4
CTRL-G uসন্নিবেশ মোডে কমান্ডটি ব্যবহার করে আপনি নিজেই একটি একক পূর্ববর্তী-ব্লক বিচ্ছিন্ন করতে পারেন, যদি আপনার কিছু সন্নিবেশ মোড ম্যাক্রো থাকে তবে দরকারী useful
ফ্রুগলমনকি

8

তেজ এর মোডাল সম্পাদনা প্রায়ই একটি হিসাবে দেখা হয় অপারেটর (যেমন c, d, ...) একটি ওভার প্রয়োগ গতি (যেমন iw, w, }, ...)। পণ্য দ্বারা বিস্ময়কর হিসাবে ভিম চুনকি পূর্বাবস্থায় ফিরে আসে। অন্যান্য সম্পাদকদের যেখানে অনেকগুলি ছোট ছোট পূর্বাবস্থায় ফেরা তৈরি করতে কিছু অনুমান করতে হয়, ভিম প্রাকৃতিকভাবে এটি করেন। আরেকটি প্রভাবিত হ'ল এটি আপনাকে পুনরাবৃত্তি অপারেটর দেয়, .(ওরফে ডট কমান্ড)।

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

কখনও কখনও সন্নিবেশ মোডে থাকা অবস্থায় একটি পূর্বাবস্থায় অবরুদ্ধ হওয়া প্রয়োজন। <c-g>uসন্নিবেশ মোডের মধ্যে দিয়ে এটি সম্পন্ন করা যায়। আরও তথ্যের জন্য দেখুন :h :undojএবং :h undo-blocks

আরও সহায়তার জন্য আমি নীচের পরামর্শ দিই:

:h undo-blocks
:h :undoj
:h undo-tree
:h persistent-undo
:h undo.txt

এই বিষয়টিতে কিছু চিত্রনাট্যও রয়েছে:


"চুনকি পূর্বাবস্থায় ফেরা" - সেরা বিবরণ আমি দেখেছি।
ম্যাট পার্কার

6

আপনি এটি এইভাবেও ভাবতে পারেন: প্রতিবার আপনি পাঠ্য সম্পাদনা করার জন্য সন্নিবেশ মোডে যান এবং আপনি আঘাত করলে Esc, এটি একটি ব্লক তৈরি করবে। যদি আপনি এই ব্লকটি পূর্বাবস্থায় ফেলার চেষ্টা করেন তবে আপনি সন্নিবেশ মোডে প্রবেশের আগে একই অবস্থানে চলে যাবেন।

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

দ্রষ্টব্য: আপনি যদি চলার জন্য তীরগুলি ব্যবহার করেন তবে আপনি এটি Escচাপলে এমনটি হয় [+ hjkl]

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