আমি কীভাবে ভিমে কিছুটা দৈর্ঘ্য পাঠাতে পারি?


102

আসুন আপেক্ষিক ব্যবস্থা গ্রহণের কথা বলি। আমার ভিম দেখতে দেখতে:

aaaaaaaaaaaaa 
bbbbbbbbbbbbb 
ccccccccccccc 
etc

আমি এটি আরও ছোট হতে চাই:

aaaaa
aaaaa
bbbbb
bbbbb
ccccc
ccccc
etc

আমি কিভাবে এটি পেতে পারি? এবং আমি কীভাবে এই জাতীয় ব্লকের দৈর্ঘ্য নির্ধারণ করতে পারি?


আপনি কি মোড়ানো পাঠ্যটি বোঝাচ্ছেন, এবং ইনডেন্ট পাঠ্য নয়?
এলসি

এলসি: আমি পার্থক্য জানি না। এটি আমার কাছে প্রস্তাবিত হিসাবে আমি মোড়কে লিখতে যাচ্ছিলাম, তবে আমি এটি কখনই কাজ করি নি।
লিও লোপোল্ড হার্টজ 준영

উত্তর:


177

আপনি আসলে দুটি জিনিস করতে পারেন:

  1. লাইনব্র্যাকগুলি .োকিয়ে আপনার পাঠ্যকে আরও কম সংক্ষিপ্ত রেখাগুলি (iechange) করতে দিন im
  2. লাইনগুলি যেমন আছে তেমন ছেড়ে দিন তবে তাদের জড়িত প্রদর্শন করুন

আপনি কোনটি চান?

বিকল্প 1 সেট করে অর্জন করা হবে textwidth(উদাহরণস্বরূপ :set textwidth=30(স্বরূপের উত্তর থেকে))। তারপরে আপনি আপনার পাঠ্যটি হাইলাইট করে (ভিজ্যুয়াল মোডে) এবং টাইপ করে পুনরায় ফর্ম্যাট করতে পারেন gq। ( এভাবে textwidthসংক্ষেপে বলা যেতে পারে ))tw:set tw=30

অপশন 2 চালিয়ে :set wrap/ চালিয়ে টগল করা যায় :set nowrap। এটি লাইনগুলি মোড়ানো করবে যা উইন্ডোটির জন্য খুব দীর্ঘ।

দু'জনেই স্বাধীন।


33
ভিজ্যুয়াল মোড থেকে জিকিউ কী কমান্ডের জন্য +1, এটি দুর্দান্তভাবে কার্যকর
ফায়ার ক্র

3
এফওয়াইআই এটি ফাঁকা জায়গাগুলি এবং gqgq এ বিচ্ছিন্ন হয়ে প্রশ্নে দেখানো মত একটি লাইনের সাথে কিছুই করতে পারে না এমনকি tw = 5।
dlamblin

2
@ ড্লেমব্লিন: সঠিক যদি আপনি হোয়াইটস্পেসকে সম্মান না করে নির্দিষ্ট প্রদত্ত প্রস্থে ভাঁজ করতে চান তবে foldfgm এর উত্তর হিসাবে কমান্ডটি ব্যবহার করুন ।

আপনার বিকল্পটি যতদূর আমি দেখছি কাজ করে না। wrapউইন্ডো সীমানায় মোড়ানো হবে, না textwidth
ডেরওহ

@ ডারওহ: হ্যাঁ, মোড়ানো উইন্ডো সীমানায় মোড়ানো হবে। আমি স্পষ্ট করতে সম্পাদনা করেছি।
স্লেসকে

60

একবার আপনি 'টেক্সটউইথ' সেট করার পরে, আপনি ভিজ্যুয়াল মোডের সাহায্যে পাঠ্যটি নির্বাচন করতে পারেন এবং এটিকে সুন্দরভাবে মোড়ানোর জন্য gq টিপুন (আপনি কিছু পুরানো / লিগ্যাসি কনফিগারেশনে Q ব্যবহার করতে পারেন)।

কয়েকটি দরকারী টিপস:

gqq (wrap the current line)
gq} (wrap this 'paragraph', i.e. until the next blank line)
:h gq

3
+1, আমি দুর্ঘটনাক্রমে ভিএম থাকাকালীন সময়ে gq টি আঘাত করেছিলাম, আমি কী আঘাত করেছি তা দেখার চেষ্টা করতে গত অর্ধ ঘন্টা ব্যয় করেছি। এটি তাই দরকারী।
ব্যবহারকারী 176121

gqqবর্তমান লাইনটি মোড়ানো (পরিবর্তে gqgqবা এর পরিবর্তে gq$)।
অ্যাশ

21

ভাঁজ (1) ব্যবহার করা একটি সম্ভাবনা:

:%!fold -w5 

ফলাফল:

aaaaa
aaaaa
aaa 
bbbbb
bbbbb
bbb 
ccccc
ccccc
ccc

1
এটি ভাঁজ করার জায়গাগুলিও সম্মান করে না
লিওনেল

7
@ লিওনেল: হ্যাঁ স্পেসগুলি সম্মান করতে, ভাঁজ কমান্ডে বিকল্প "-s" যুক্ত করুন।
স্লেজ

14
:set textwidth=30

মূল পোস্টারের উদাহরণের মতো কোনও স্থান ফাঁকা না থাকলে পাঠ্য প্রস্থটি কীভাবে এটি পরিচালনা করবে? আমার একটি নাটক ছিল এবং এটি কেবলমাত্র ফাঁকা স্থান (অথবা ধরে নেওয়া যায়, ব্রেকট ভেরিয়েবলটি অন্য কোনও কিছুতে সেট করা থাকলে) পাঠ্য প্রস্থের ভিত্তিতে ফর্ম্যাট হবে বলে মনে হয়।
অ্যান্ডি

3
@ অ্যান্ডি textwidthকোনও ফাঁকা জায়গায় পরিস্থিতি পরিচালনা করবে না। এটি করতে আপনি নিজের formatexprফাংশন লিখতে পারেন ।
স্বরূপ সিএইচ

8

আপনি যদি কোনও নির্দিষ্ট দৈর্ঘ্যে ভাঙতে চান এমন ফাঁকা জায়গা ছাড়াই পাঠ্য থাকে তবে বাহ্যিক ব্যবহার করা foldবা নিজের লেখা নিজেরাই প্রয়োজন নয় formatexpr

:%s/\(.\{80\}\)/\1\r/g

80 টি অক্ষরে সমস্ত লাইন ভাঙ্গবে।


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