ইয়াঙ্কড পাঠ্যের সাথে কীভাবে অভ্যন্তরীণ পাঠ্য প্রতিস্থাপন করা যায়


17

একটি সম্পাদনা প্যাটার্ন যা আমি প্রায়শই চালিত করি তা হ'ল: আমি উদ্ধৃতি বা বন্ধনীগুলির ভিতরে একটি টুকরো টুকরো টুকরো টুকরো টুকরো করে টুকরো টুকরো করে টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো করে প্রতিস্থাপন করতে চাই।

উদাহরণস্বরূপ, আমি যদি শ্রেণীর নামটি অনুলিপি করতে চাই foo barএবং সেটি অন্য কোথাও পেস্ট করুন:

<span class="foo bar">

<div class="this-should-be-replaced-with-foo-and-bar">

আমি যা জানি তা হ'ল: যদি আমি স্প্যানের ক্লাসের ভিতরে চলে যাই তবে আমি yi"উদ্ধৃতিগুলির ভিতরে টেক্সটটি ইঁকতে ব্যবহার করি ।

এখন আমার এটি আমার রেজিস্টারে রয়েছে, তাই আমার সাথে ডিভের শ্রেণীর সামগ্রীটি প্রতিস্থাপন করতে সক্ষম হওয়া উচিত। তবে আমি এটি করার সহজ উপায় খুঁজে পাচ্ছি না।

আমি যদি ciwএটির ব্যবহারটি পরিবর্তন করতে কন্টেন্টের সাথে আমার নিবন্ধকে ওভাররাইট করে শেষ করি, তাই আমি আমার ইয়ঙ্কযুক্ত পাঠ্যটি আলগা করি।

আমি যে সর্বোত্তম জিনিসটি সামনে আসতে পারি তা হ'ল ডিভের ক্লাসের প্রথম উদ্ধৃতিতে চলেছে, আঘাত করছে p, তারপরে পরবর্তী উদ্ধৃতিতে মুছবে dt"

সাধারণত আমি যদিও আমার অবস্থান স্ক্রু আপ করি এবং আমি দুটি স্ট্রিংগুলিকে মার্জ করে কোটের ভিতরে এটি কোথাও আটকান এবং এটি গোলমাল করে দেয়।

আমি আশা করছি এটি আরও সহজ করার জন্য "আমার ইয়াঙ্কড সামগ্রী সহ দয়া করে অভ্যন্তরীণ পাঠ্যটি প্রতিস্থাপন করুন" এর কিছু উপায় আছে।

উত্তর:


19

vi"pভিতরে থাকা অবস্থায় আপনি ব্যবহার করতে পারেন ""। এটি ইয়াঙ্ক রেজিস্টারে পাঠ্যকে প্রতিস্থাপন করতে পারে, তাই আপনি যখন মূল ইয়ঙ্কযুক্ত পাঠ্যটি একবারের চেয়ে বেশি ব্যবহার করতে চান তখন তা গুরুত্বপূর্ণ।

সম্পাদনা : একাধিকবার পুনরায় ব্যবহারযোগ্য করে তোলার বিষয়ে অক্টাভিওর মন্তব্য থেকে অতিরিক্ত তথ্য:

এটি করার জন্য আমি একটি নামকৃত রেজিস্টারে ইয়েঙ্ক করব, যা দুটি আদেশ দেয়: "ayi"এবং vi""apআপনি যদি নিবন্ধ ব্যবহার করেন a


2
আমি এই সমাধানটি বিস্তারিতভাবে জানাব। আপনি প্রথমে পাঠ্যটি অনুলিপি করতে চান যা আপনি অনুলিপি করতে চান। তারপরে আপনি যে স্থানে আটকে দিতে চান সেখানে "vi" ব্যবহার করে দৃশ্যত নির্বাচন করুন A একটি পেস্ট কমান্ড একযোগে কার্সারে নামবিহীন নিবন্ধের বিষয়বস্তু রাখবে এবং নির্বাচিত পাঠ্যটি মুছে ফেলবে Therefore তাই vi "p আপনি যা চান ঠিক তেমনভাবে সম্পাদন করে তবে এটি নামবিহীন নিবন্ধের বিষয়বস্তুগুলিকে প্রতিস্থাপন করে, একই পাঠ্যটি দু'বার আটকানো থেকে বঞ্চিত করবে। এটি করার জন্য আমি একটি নামকৃত রেজিস্টারকে ইয়েঙ্ক করব, যা দুটি কমান্ড তৈরি করে: "আইআই" এবং এবং vi "" এপি আপনি যদি নিবন্ধ ব্যবহার করেন তবে।
অক্টোবায়র

বিশদ দেওয়ার জন্য ধন্যবাদ। এটি ভিএম গতিসম্পন্ন জিনিসগুলিকে বানান করতে সহায়তা করে, এটি পরে মনে রাখা সহজ করে তোলে। এটি এখনও যতটা সহজ আশা করেছিলাম ততটুকু সহজ নয়, তবে এটি একটি বাস্তব পদ্ধতিতে উপলব্ধি করে। ডট কমান্ডটি ব্যবহার করে এটি পুনরাবৃত্তি করতে এবং দ্রুত দ্বিতীয়বার প্রতিস্থাপন করা হলেও এটি কার্যকর হবে বলে মনে হয় না। আমি আশা করি এটি একটি শর্টকাট হবে। :)
jurgenb

11

আপনি নম্বরযুক্ত রেজিস্টার ব্যবহার করতে পারেন। প্রথম ইয়াঙ্ক "ফু-বার" এর সাথে yi", যা নিবন্ধটি পূরণ করবে "0, দেখুন :h "0। তারপরে ci"<c-r>00 টি রেজিস্টারের সামগ্রীর সাথে প্রতিস্থাপন করুন।

:h i_CTRL-Rশেষ অংশটির বিবরণ দেখুন ।


2
আপনি নামবিহীন রেজিস্টারে ( yi") কেবল ইয়াঙ্কিং করে কেন এবং এটি 0পরিবর্তন করার জন্য পাঠ্য মুছে ফেলার পরে যেখানে সংরক্ষণ করা হয়েছে তা এটি আটকানো হবে না ci"<c-r>0? ভিমগল্ফের মেয়াদে আপনি ২ টি কীস্ট্রোক জিতেন এবং আপনি আপনার রেজিস্টারগুলিতে গোলমাল করেন না।
স্ট্যাটক্স

যত তাড়াতাড়ি আমি 'এ' হিট হওয়ার সাথে সাথেই আমি সম্পাদনা মোডে শেষ হয়েছি, এটি কোনও
নিবন্ধকে

@ n3wjack এর কারণ সম্ভবত আপনি CTRL+rআগে চাপছেন নি a, এর <c-r>অর্থ।
স্ট্যাটক্স

1
@ কার্লইংভেলেভের্গ আসলে ciwমুছে ফেলা টেক্সটটি নামবিহীন রেজিস্টারে রাখলেও নিবন্ধগুলি স্থানান্তরিত হয়, এজন্য আপনাকে <c-r>0পরিবর্তে ব্যবহার করতে হবে <c-r>"। দেখুন :h quote_number
স্ট্যাটক্স

1
আমি আরও বিশেষভাবে মনে করব, এখানে বিন্দুটি নামবিহীন নিবন্ধক সম্পর্কে নয়, পরিবর্তে সংখ্যাযুক্ত রেজিস্টার সম্পর্কে। "0রেজিস্টারটি কেবল ইয়াঙ্ক আদেশ দ্বারা পূরণ করা হয় এবং উদাহরণস্বরূপ বিরক্ত হবে না c
কার্ল ইঙ্গভে লেরভেগ

9

এখানে আরও একটি সমাধান দেওয়া হল। এটি ভিমগল্ফের মেয়াদে সেরা নয়, তবে এটি ব্ল্যাকহোল রেজিস্টার ব্যবহার করে:

একবার আপনি foo barস্ট্রিং এ চলে গেলে আপনি এটি ব্যবহার করে স্বাভাবিকভাবে ইঁকতে পারেন yi"

তারপরে বন্ধনীর ভিতরে পরিবর্তন করতে হবে: "_di"P

যা হলো:

"_       We will use the black hole register
di"      Delete the inner brackets and put the deleted text in the black hole register
P        Put the previously yanked text

ব্ল্যাকহোল রেজিস্টারটির সুবিধা হ'ল এটি আপনার অন্যদের নিবন্ধগুলিতে গোলযোগ করবে না। দেখুন :h quote_আরো বিস্তারিত জানার জন্য।

(দ্রষ্টব্য যে এই উত্তরটি কেবল ব্ল্যাক আউট রেজিস্টার সম্পর্কে কথা বলার জন্য রয়েছে। আমি ব্যক্তিগতভাবে @ গ্রেডজিকের পরামর্শ অনুসারে ভিজ্যুয়াল নির্বাচনটি ব্যবহার করি))


আমি মনে করি আপনার এটির Pজন্য একটি উচ্চতর মামলা দরকার । যখন আপনি di"আপনার কার্সারটি শেষ উদ্ধৃতিতে ছেড়ে pযাবেন এবং পরে পেস্ট করবেন, যেখানে Pবর্তমান অবস্থানের আগে এটি আটকানো হবে।
jecxjo

@ জেকজজো ঠিক আছে, আমি আমার উত্তর সম্পাদনা করেছি, ধন্যবাদ!
স্ট্যাটক্স

8

আমার এটি প্রায়শই প্রয়োজন, সর্বাধিক গতি সহজ করার জন্য এবং মঞ্জুরি দেওয়ার জন্য আমি একটি প্লাগইন লিখেছিলাম: রিপ্লেস উইথরেজিস্টার

এই প্লাগইনটি একটি দ্বি-ইন-ওয়ান grকমান্ড সরবরাহ করে যা {গতি} / পাঠ্য অবজেক্ট, সম্পূর্ণ লাইন (গুলি) বা বর্তমান নির্বাচনের দ্বারা নিবন্ধকের সামগ্রীর সাহায্যে আচ্ছাদিত পাঠকে প্রতিস্থাপন করে; পুরানো পাঠ্যটি ব্ল্যাকহোল রেজিস্টারে মুছে ফেলা হয়েছে, অর্থাৎ এটি চলে গেছে। এটি স্বচ্ছভাবে অনেক কোণার কেসগুলি পরিচালনা করে এবং স্ট্যান্ডার্ড .কমান্ডের মাধ্যমে দ্রুত পুনরাবৃত্তি করার অনুমতি দেয় । আপনি যদি এটি পছন্দ না করেন তবে এর পৃষ্ঠায় বিকল্পগুলির লিঙ্ক রয়েছে।


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