ভিএম: আমি কি কেবল * ওয়াই একটি অনুলিপি করতে পারি?


11

আমি ভিমে পছন্দ করতে শিখছি, তবে একটি জিনিস যা আমি এখনও পুরোপুরি গ্রহণ করি নি তা হ'ল কপি এবং পেস্টের পরিস্থিতি। মুগল টেক্সট এডিটরটিতে আমি চাইতাম Ctrl- Cপাঠ্যের একটি টুকরো অনুলিপি করে তারপরে সম্পাদনা / মুছুন এবং তারপরে পাঠ্য অন্য কোথাও আটকে দিন। তবে ভিমে আমি এটি করতে পারি না কারণ আমি পাঠ্যটি অনুলিপি করার পরে y, পাঠ্যটি সংশোধন করাতে প্রায়শই জড়িত থাকে dএবং xযা আমার মূল পাঠ্যটি বিলোপ করে।

পাঠ্যটি তৈরি dএবং xঅনুলিপি করার কোনও উপায় আছে ? বা অন্যথায়, আমি এই ভিএম বৈশিষ্ট্যগুলি কীভাবে ব্যবহার করব?

উত্তর:


16

আগের 9 ইয়াঙ্কগুলি কল করা রেজিস্টারে সংরক্ষণ করা 1হয় 9। আপনি পরবর্তী-শেষ-শেষ ইয়ঙ্কটি স্মরণ করতে পারেন "1p, এর আগে আগেরটি "2pএবং আরও অনেক কিছু। কমান্ডটি :regরেজিস্টারগুলি প্রদর্শন করে যাগুলি আটকানোর জন্য উপলব্ধ।

আপনি যদি ইয়াঙ্ক আরও দীর্ঘস্থায়ী হতে চান তবে একটি চিঠি রেজিস্টার ব্যবহার করুন

অস্পষ্ট ইয়াঙ্ক সংক্রান্ত আরও কমান্ডের :help "জন্য ম্যানুয়ালটিতে পড়া শুরু করুন ।


2
এছাড়াও, রেজিস্টার 0 এ সর্বশেষ পাঠ্যটি ইয়ঙ্কযুক্ত রয়েছে (মোছার বিপরীতে)। মূল প্রশ্ন ফিরে উল্লেখ সুতরাং, আপনার সাথে হ্যাঁচকা টান করতে পারেন y, সম্পাদনা চালিয়ে সহ dএবং x, এবং সাথে yanked টেক্সট পেস্ট"0p
Nefrubyr

@ নেফ্রুবায়ার, উপরের আপনার মন্তব্যটি আসলে সবচেয়ে সহজ উত্তর, তবে এটি বিদ্যমান তিনটি উত্তরের কোনওটিতেই উল্লেখ করা হয়নি। সম্ভবত আপনি এটি যোগ করা উচিত? (আপনি যদি না করেন তবেই আমি পারব
ওয়াইল্ডকার্ড

9

আপনি যে কমান্ডগুলির কথা বলছেন তা তথাকথিত "নামবিহীন" রেজিস্টার ব্যবহার করে। এটি কেবল খুব স্বল্পমেয়াদী ব্যবহারের জন্য বোঝানো হয়েছে। "আমি এখান থেকে এ্যাঁকে যাব এবং এটিকে সেখানে রেখে দেবো" সাজানো জিনিস।

আপনি যখন গিয়ে অন্য কিছু করতে গিয়ে কয়েক সেকেন্ডেরও বেশি সময় ধরে ধরে রাখতে চান, তখন আপনাকে নাম দেওয়া রেজিস্টারগুলি ব্যবহার করা উচিত।

উদাহরণস্বরূপ, রেজিস্টারটিতে " a y yকার্সারটি লাইনটিকে ইঙ্ক করবে a। আপনি দুর্ঘটনাক্রমে কিছুই আঁকড়ে ধরবেন না, যদি না আপনি aনিবন্ধে জড়িত অন্য কমান্ডটি টাইপ করেন । মিনিট, ঘন্টা, এমনকি কয়েক দিন পরে, আপনি " a pযে aকার্সারটি চালু আছে তার নিচে রেজিস্টার থেকে লাইনটির ইয়্যাঙ্কড কপিটি ফেলে দিতে পারেন ।

(এটি সত্যিই ভালভাবে কাজ করার জন্য, set viminfo='50,\"1000আপনার ~/.vimrcফাইলের মতো একটি লাইন থাকা উচিত , এটি ভিম সেশনে রেজিস্টার সামগ্রীগুলির মতো জিনিস মনে রাখতে বলে।

এখানে 26 টি নিবন্ধভুক্ত (এজে) রয়েছে। যদি আপনি তাদের উপরে বর্ণিত পরিবর্তে বড় হাতের অক্ষর হিসাবে দেন তবে আপনি বর্তমান রেজিস্টার সামগ্রীগুলি প্রতিস্থাপনের পরিবর্তে যুক্ত করুন। সুতরাং, আপনি সত্যিই জটিল কিছু তৈরি করতে পারেন, বলুন, hএকবারে এক টুকরো রেজিস্টার করতে পারেন, তারপরে একে একে নিচে নামিয়ে দিন " h p

লক্ষ করুন যে নিবন্ধকের নামটি .চ্ছিক। এটি সূচিত করে যে এমন অনেকগুলি কমান্ড থাকতে পারে যা আপনি ইতিমধ্যে জানেন এবং ব্যবহার করছেন যেখানে আপনি নাম রেজিস্টার ব্যবহার করতে পারেন। :help registersসম্ভাবনার কিছু ধারণা পেতে ভিমে বলুন ।

এছাড়াও, একটি ভি মগ পান


1

যদি আপনার ইয়ঙ্ক রেজিস্টারটি পরিবর্তন না করে ডি দিয়ে পাঠ্য মুছতে হয় (বলুন, আপনি ইতিমধ্যে এতে পাঠ্যটি ইয়াঙ্ক করেছেন যে উদাহরণস্বরূপ আপনার অন্য কোনও পাঠ্য মুছে ফেলার আগে আপনি পেস্ট করতে প্রস্তুত নন), আপনি ব্ল্যাকহোল রেজিস্টারটি ব্যবহার করতে পারেন _

"_ddউদাহরণস্বরূপ আপনি যদি করেন তবে বর্তমান লাইনটি তাত্ক্ষণিকভাবে মুছে ফেলা হবে এবং ভুলে যাবে।

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

আপনি অন্য রেজিস্টার যখন মোছার ব্যবহার করতে ভুলবেন না থাকে, তাহলে আপনি একটি জন্য মোড়কের ম্যাক্রো নির্ধারণ করতে পারবেন ddএই মত উদাহরণস্বরূপ: :noremap dd "add


0

(বর্তমান) গৃহীত উত্তরের মন্তব্যে যেমন উল্লেখ করা হয়েছিল, এটির সাধারণ উপায় হ'ল নিবন্ধ শূন্য ( "0) ব্যবহার করা । নিবন্ধন শূন্য সবসময় গত Yank রয়েছে, এবং ওভাররাইট পাবেন না dএবং x, তাই "0pসবসময় রাখে যাই হোক না কেন আপনি যা ইতিমধ্যে সম্পাদিত হয়েছে নির্বিশেষে yanked।

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