নির্বাচন একটি পৃথক ফাইলে সরান


12

ভিএম দিয়ে আমি কীভাবে টেক্সটের টুকরোটিকে একটি নতুন ফাইলে স্থানান্তর করতে পারি? মুহুর্তের জন্য, আমি এটি করছি:

  • পাঠ্যটি নির্বাচন করুন
  • ব্যবহার :w new_file
  • আবার পাঠ্য নির্বাচন করুন
  • পাঠ্য মুছুন

এটি করার আরও কার্যকর উপায় আছে?

আগে

a.txt

sometext
some other text
some other other text
end

পরে

a.txt

sometext
end

b.txt

some other text
some other other text

উত্তর:


4

এই কাস্টম আদেশগুলি সম্পর্কে কীভাবে:

:command! -bang -range -nargs=1 -complete=file MoveWrite  <line1>,<line2>write<bang> <args> | <line1>,<line2>delete _
:command! -bang -range -nargs=1 -complete=file MoveAppend <line1>,<line2>write<bang> >> <args> | <line1>,<line2>delete _

1
এটি খুব কুরুচিপূর্ণ, তবে ওহে, আমি যা চেয়েছিলাম ঠিক তেমন এক ধাপে এটি করা মনে হচ্ছে (আমি চেষ্টা করেছি)। +1, এবং স্বীকৃত। আমি এটি করার জন্য একটি স্থানীয় উপায়ের সন্ধান করছিলাম তবে যেহেতু এটির একটি বলে মনে হচ্ছে না, তাই আপনার কাজ ঠিক আছে। ধন্যবাদ!
গ্রেগ টায়ার

1
সৌন্দর্য দর্শকের চোখে পড়ে। আমি এটিকে বেশ মার্জিত মনে করি; আপনাকে কেবল এটি একবার টাইপ করতে হবে (আপনার .vimrc এ)।
ইনগো কারকাত

আপনি ঠিক বলেছেন, "খুব কুরুচিপূর্ণ" চিৎকারটি "খুব অপরিচিত" ছিল। আপনার কমান্ডটি খুব সহজ, এবং আমি মনে করি আমি অবশ্যই এটি আমার
.vimrc- এ

8

"পাঠ্যের টুকরোটিকে একটি নতুন ফাইলে সরান" বলে আমি ধরে নিয়েছি আপনি বর্তমান ফাইলটি থেকে সেই টুকরো টুকরো কেটেছেন এবং কেবলমাত্র সেই পাঠ্যটি সহ একটি নতুন ফাইল তৈরি করবেন।

বিভিন্ন উদাহরণ:

  • :1,1 w new_file লাইন নম্বর 1 থেকে কেবলমাত্র পাঠ্যযুক্ত একটি নতুন ফাইল তৈরি করতে
  • :5,50 w newfile লাইন 5 থেকে 50 লাইনে পাঠ্যযুক্ত একটি নতুন ফাইল তৈরি করতে
  • :'a,'b w newfileচিহ্ন থেকে চিহ্নিত করে একটি নতুন ফাইল তৈরি aকরতেb
    • ব্যবহার করে আপনার চিহ্ন সেট maএবং mbযেখানে কখনও আপনি পছন্দ

উপরেরটি কেবলমাত্র পাঠ্যটি অনুলিপি করে এবং সেই পাঠ্যটি সহ একটি নতুন ফাইল তৈরি করে। এরপরে আপনাকে পরে মুছতে হবে।

এটি একই রেঞ্জ এবং dকমান্ডটি ব্যবহার করে করা যেতে পারে :

  • :5,50 d লাইন 5 থেকে 50 লাইনে পাঠ্য মুছতে
  • :'a,'b dচিহ্ন থেকে পাঠ্য মুছে ফেলতে aচিহ্নb

বা ddএকক লাইন কেস জন্য ব্যবহার করে ।

আপনি যদি পরিবর্তে ভিজ্যুয়াল মোড ব্যবহার করে পাঠ্যটি নির্বাচন করেন এবং পাঠ্যটি নির্বাচিত হওয়ার পরে হিট করেন :তবে আপনি কমান্ড লাইনে নিম্নলিখিতটি দেখতে পাবেন:

:'<,'>

যা নির্বাচিত পাঠ্য নির্দেশ করে indicates এরপরে আপনি কমান্ডটি প্রসারিত করতে পারেন:

:'<,'>w >> old_file

যা বিদ্যমান ফাইলটিতে পাঠ্য সংযোজন করবে । তারপরে উপরের মতো মুছুন।


এক রৈখিক:

:2,3 d | new +put! "

ভাঙ্গন:

  • :2,3 d - 2 থেকে 3 লাইন মুছুন
  • | - প্রযুক্তিগতভাবে এটি প্রথম কমান্ডের আউটপুটটিকে দ্বিতীয় কমান্ডে পুনঃনির্দেশ করে তবে প্রথম কমান্ড কিছুই আউটপুট দেয় না, তাই আমরা কেবল এক সাথে কমান্ডগুলি শৃঙ্খলিত করছি
  • new - একটি নতুন বাফার খোলে
  • +put! "- নামবিহীন নিবন্ধের বিষয়বস্তু "বাফারে রাখুন
    • ঠুং ঠুং শব্দ ( !) আছে যাতে সামগ্রীগুলি বর্তমান লাইনের আগে রাখা হয়। ফাইলের শেষে এটি কারণ এবং খালি লাইন। এটি ছাড়াই, ফাইলটির শীর্ষে একটি খালি লাইন রয়েছে।

আপনার অনুমান ঠিক আছে। এটি দেখতে বেশ ভাল, আমি পরীক্ষা করতে যাচ্ছি। আপনি আরও 2 ব্যাখ্যা করতে পারেন? আমি রেঞ্জের সাথে খুব বেশি পরিচিত নই। সম্পাদনা: আমি যদি দ্বিতীয় লাইনে এটি চেষ্টা করি তবে এটি প্রথম লাইনটি অন্য ফাইলটিতে লিখবে, দ্বিতীয় লাইনে নয়।
গ্রেগ টায়ার

@ greg0ire আমি পেয়েছিলাম যে একটু অনুন্নত, আমি ভাল সম্পাদনা ব্যাখ্যা করব
embedded.kyle

আমি আমার প্রশ্ন পরিষ্কার করার জন্য একটি উদাহরণ যুক্ত করেছি।
গ্রেগ 01 ই

@ গ্রেগ0ire আমি আমার উত্তর সংশোধন করেছি। এটি এখনও দুটি পদক্ষেপ। প্রথম কপি এবং লিখুন। দ্বিতীয় মোছা।
embedded.kyle

1
চমৎকার সমাধান! আপনি এটি '<,'>d | new | 0put "স্পষ্টতা হিসাবে লিখতে পারে ।
এপ্রাইপস

1

@ এম্বেডড.কাইলের উত্তর এবং এই প্রশ্নোত্তরের ভিত্তিতে আমি একটি ফাইলের মধ্যে একটি সংযোজন যুক্ত করতে এবং বর্তমান ফাইল থেকে মুছতে এই এক লাইনারটি দিয়ে শেষ করেছি। এর সাথে কয়েকটি লাইন নির্বাচন করার পরে Shift+V, হিট :এবং রান করুন:

'<,'>w >> test | normal gvd 

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


0

ভিজ্যুয়াল মোডে পাঠ্যটি নির্বাচন করুন, তারপরে yএটিকে "ইয়ঙ্ক" চাপতে বাফারে (অনুলিপি করুন) বা dবাফারে "কাটতে" (কাটা) চাপুন।

তারপরে আপনি :split <new file name>নিজের ভিম উইন্ডোটি বিভক্ত করতে পারেন এবং pইয়াঙ্কড পাঠ্যে আটকে দিতে চাপতে পারেন। ফাইলটি স্বাভাবিক হিসাবে লিখুন।

বিভাজনটি আবার বন্ধ করতে, আপনি যে বিভাজনটি বন্ধ করতে চান তা পাস করুন :q


1
এই মুহুর্তের জন্য আমার 4 টি ধাপ রয়েছে: নির্বাচন করুন, লিখুন, নির্বাচন করুন, মুছুন। আপনার পদ্ধতির সাথে আমার 6 টি পদক্ষেপ রয়েছে: নির্বাচন করুন, মুছুন, বিভক্ত করুন, পেস্ট করুন, লিখুন, বন্ধ করুন। আমি আরও দক্ষ কিছু জিজ্ঞাসা করেছি: পি
গ্রেগ 01

ঠিক আছে, আপনি যদি :xপরিবর্তে এই বিভাজনটি পাস করেন তবে আপনি লেখাকে একত্রিত করে বন্ধ করতে পারেন এবং এটি পাঁচটি পদক্ষেপ তৈরি করতে পারেন। : পি
জাইনের

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