কীভাবে ভিমে লাইন ব্রেকিং বন্ধ করবেন


257

আমি পছন্দ করি যে দীর্ঘ লাইনগুলি একাধিক টার্মিনাল লাইনের উপরে প্রদর্শিত হয়; আমার পছন্দ হয় না যে ভিএম আমার আসল পাঠ্যে নতুন লাইন প্রবেশ করান। আমার .vimrc এর কোন অংশটি পরিবর্তন করা উচিত?


7
স্পষ্টতার জন্য: আপনি পছন্দ করেন যে দীর্ঘ লাইনগুলি একাধিক টার্মিনাল লাইনের উপরে প্রদর্শিত হয়; আপনি কি পছন্দ করেন না যে ভিএম আপনার আসল পাঠ্যে নতুন লাইন সন্নিবেশ করায়? যদি তা :set nowrapহয় তবে আপনি যা চান তার বিপরীত :(।)
অ্যান্ড্রু আইলেট

@ অ্যান্ড্রু: হ্যাঁ আপনার সারসংক্ষেপটি আমি যা চাই ঠিক তা
হাইয়ুয়ান জাং

উত্তর:


304

ব্যবহার

:set wrap

লাইনগুলিকে দৃষ্টিবদ্ধভাবে মোড়ানোর জন্য, যেমন লাইনটি এখনও পাঠ্যের একটি লাইন, তবে ভিম এটি একাধিক লাইনে প্রদর্শন করে।

ব্যবহার

:set nowrap

দীর্ঘ রেখাগুলিকে কেবল একটি রেখার মতো প্রদর্শন করতে (যেমন আপনাকে পুরো লাইনটি দেখতে অনুভূমিকভাবে স্ক্রোল করতে হবে)।


3
আপনি বলছি টিপস জন্য ধন্যবাদ। আমি সাথে গিয়েছিলাম: নওর্যাপ সেট করুন এবং: পাঠ্য প্রশস্ততা সেট করুন = 0 দুর্দান্ত কাজ করে
রবার্ট

5
আমি যখন টাইপ করি তখনও আমি "ভিজ্যুয়াল" ৮০ কলামের সীমা দেখতে চাই এবং আমি যখন ৮০ তম কলোন টাইপ করি তখন আমি ভিআইএম লাইন ফিড যুক্ত করতে চাই না। আমি কিভাবে করবো?
অলিভিয়ার পন্স

7
এটি হ'ল আমি উত্তরটি খুঁজছিলাম, কিন্তু এটি ওপির প্রশ্নের উত্তর নয়। শীর্ষ উত্তর হিসাবে এটি রাখা কিছুটা বিভ্রান্তিকর। আমি জানি না কীভাবে এই পরিস্থিতি ঠিক করা যায়। আমি আসল প্রশ্নের উত্তর দেওয়ার জন্য আপনার উত্তরটি সম্পাদনা করব। তবে ইতিমধ্যে একটি যথাযথ উত্তর রয়েছে যা প্রায় ততটাই ভোট ed সুতরাং আমি দুটি উত্তর স্যুইচ করতে ভোট দিয়েছি।
ড্যানিয়েল দারাবস

3
এটি হ'ল উত্তর যা আমি খুঁজছিলাম না , এবং এটি ওপি-র প্রশ্নের উত্তর নয়
পিল

এটি প্রশ্নের উত্তর নয়।

194

আমি পছন্দ করি যে দীর্ঘ লাইনগুলি একাধিক টার্মিনাল লাইনের উপরে প্রদর্শিত হয়

এই ধরণের ভিজ্যুয়াল / ভার্চুয়াল লাইন মোড়ানো wrapউইন্ডো বিকল্পের সাহায্যে সক্ষম করা হয়েছে :

set wrap

আমার পছন্দ হয় না যে ভিএম আমার আসল পাঠ্যে নতুন লাইন প্রবেশ করান।

শারীরিক রেখা মোড়ানো বন্ধ করতে, উভয় textwidthএবং wrapmarginবাফার বিকল্পগুলি সাফ করুন:

set textwidth=0 wrapmargin=0

1
ধন্যবাদ! set textwidth=0 wrapmargin=0কাজ করে তবে আমি যদি এটির মধ্যে রাখি তবে এটি .vimrcপ্লেইন টেক্সট ফাইলগুলির জন্য উদাহরণ হিসাবে কার্যকর হয় না। আমি কীভাবে ওভাররাইটটি সন্ধান করব এবং মুছে ফেলব?
কিউবডআপ

7
@qubodup আপনি পরীক্ষা করতে পারেন যদি কোনও সমস্যা যেখানে আপনার সমস্যা দেখা যায় এবং প্রবেশ করে সেখানে ফাইলটি খোলার মাধ্যমে আপনার .vimrc সেটিংটি ওভাররাইট করা হয় :verbose set textwidth? wrapmargin?। এটি আপনাকে তাদের বর্তমান মানগুলি এবং সেগুলি কোথায় সেট করা হয়েছিল তা জানাবে। আপনার কাছে এমন একটি প্লাগিন রয়েছে যা সেগুলিকে ওভাররাইড করে। সেক্ষেত্রে আপনি হয় সেই প্লাগইনটি আনইনস্টল করতে পারেন, বা আপনার রানটাইমপথে (উদাহরণস্বরূপ ~/.vim/after) পরে বা আপনার নিজের অটোকম্যান্ডের সাহায্যে প্লাগইন সেটিংটি ওভাররাইড করার চেষ্টা করতে পারেন । সঠিক পদ্ধতিটি কোথায় / কীভাবে এটি পুনরায় সেট করা হচ্ছে তার উপর নির্ভর করবে।
লরেন্স গনসালভেস

set wrapএবং set linebreakএটা আমার জন্য কি করেছে।
ইলিয়া চোলি

36

আমি নিশ্চিত যে আমি পুরোপুরি বুঝতে পেরেছি না তবে আপনি সম্ভবত 'ফর্ম্যাটপশনগুলি' কনফিগারেশন সেটিংসের সন্ধান করছেন। এরকম কিছু চেষ্টা করুন :set formatoptions-=ttবিকল্প দ্বারা প্রস্থ সেট এ পাঠ মোড়ানো করতে লাইন ব্রেক ঢোকাব textwidth। আপনি এই কমান্ডটি আপনার মধ্যে রাখতে পারেন .vimrc, কেবল কোলন ( :) মুছে ফেলুন ।


3
এটি আমার কাছে ওপি'র ইচ্ছাকে সম্বোধনের সর্বোত্তম বিকল্প বলে মনে হয়। আমি এই সত্যটি পছন্দ করি যে ভিম এখনও একটি উল্লম্ব রেখা দেখায় tw
মিচাস

3
এটিই কেবলমাত্র ওপির প্রশ্নকে সম্বোধন করার উত্তর। অন্যদের বিপরীত কাজ। ওপি এখনও লম্বা রেখাগুলি মোড়কে দেখানোর জন্য চায়, তবে ভিমের জন্য স্বয়ংক্রিয়ভাবে লাইন ব্রেকগুলি সন্নিবেশ না করানো উচিত।
সেবাস্তিয়ান

33

ব্যবহার :set nowrap.. একটি কবজ মত কাজ!


10
ওপি ওয়ান্টেড আচরণ হিসাবে যা সংজ্ঞায়িত করেছে তার বিপরীতে এটি বাদ দিলে ...: পি
মরলক

5
@ মরলক, তবে আমার যে প্রশ্নটি ছিল তার উত্তর দেয় এবং গুগল আমাকে এখানে নিয়ে যায় :)
বেন উসমান

এর জন্য কি কিবোর্ড শর্টকাট আছে?
পিনি চেনি

@ পিনিচেনি, আপনার .vimrc ফাইলটিতে যুক্ত করুন: nnoremap <Cw>: ইনভ্র্যাপ সেট করুন <সিআর> আপনি পাঠ্য মোড়কে টগল করতে Ctrl + W ব্যবহার করতে পারেন।

30

:set tw=0

ভিআইএম লাইন বিরতিতে স্বয়ংক্রিয়ভাবে প্রবেশ করবে না, তবে লাইন মোড়ানো রাখবে।


3
আমি ঠিক এর বিপরীতে চাই ... টাইপ করার সময় আমি এখনও "ভিজ্যুয়াল" ৮০ কলামের সীমা দেখতে চাই এবং আমি যখন ৮০ তম কলোন পরে টাইপ করি তখন আমি ভিআইএম লাইন ফিডটি যুক্ত করতে চাই না। আমি কিভাবে করবো?
অলিভিয়ার পন্স

16

আপনি set lbrদরকারী খুঁজে পেতে পারেন ; এটি দিয়ে set wrapমোড়ানো হবে তবে কেবল শব্দের মাঝখানে নয়, কেবল সাদা বাক্সে রেখাটি কাটা হবে।

যেমন

without lbr the li
ne can be split on
a word

এবং

with lbr on the
line will be
split on 
whitespace only

সংক্ষিপ্ত বিবরণগুলি এড়ানোর জন্য এটি হাইলাইটভাবে সুপারিশ করা হয়েছে কারণ ভবিষ্যতে আপনাকে কী ব্যবস্থা নিয়েছে তা বোঝার জন্য আপনাকে সহায়তা সিস্টেমের উপর অনুসন্ধান করতে হবে, তাই set nolinebreakপরিবর্তে ব্যবহার করুনset lbr
সেরজিওআরজো

12

set formatoptions-=t ভিজ্যুয়াল টেক্সটওয়াইড রাখে তবে সন্নিবেশ মোডে নতুন লাইন যুক্ত করে না।


4

এটি আশ্চর্যের বিষয় যে এ জাতীয় সরল সেটিংটিতে কাজ করতে এই পরিমাণ 'হোকস-পোকাস' প্রয়োজন হবে।

আপনার প্রশ্নের এখনই উত্তর দিতে, আমার কাছে মনে হয়েছে এটি নীচের সংমিশ্রণে কাজ করবে:

:set wrap linebreak nolist

(এটি বিদ্যমান রেখাগুলি ভাঙ্গা, কেবল মোড়ানো থেকে আটকাবে বলে মনে হচ্ছে))

এবং

set formatoptions=l

(এটি নতুন / সম্পাদিত রেখাগুলি ভাঙ্গা থেকে বিরত রাখে, যখন অন্য সেটিংস / প্লাগইনগুলি জায়গা খুঁজে পেতে এবং আমার নিজস্ব ওভাররাইড করে এমন নিজস্ব বিকল্প যুক্ত করে বলে +2 আমার পক্ষে এটি করে না))


4

তাহলে আমাকে মতো, আপনি gVim Windows এ চালাচ্ছেন তারপর আপনার .vimrc যে ফাইলটি স্বয়ংক্রিয়ভাবে সেট অন্য 'উদাহরণ' Vimscript ফাইল গুন হতে পারে textwidth(আমার ক্ষেত্রে 78পাঠ্য ফাইল জন্য)।

আমার উত্তর - এই এক হিসাবে একই প্রশ্নের কিভাবে কলাম 80 এ gVim মোড়ানো পাঠ্য থামাতে - উপর Vi এবং তেজ স্ট্যাক বিনিময় সাইট :

আমার ক্ষেত্রে, ভিটরের মন্তব্য প্রস্তাবিত আমি নিম্নলিখিতগুলি চালিত করেছি:

:verbose set tw?

এটি করার ফলে আমাকে নিম্নলিখিত ফলাফলগুলি দেওয়া হয়েছিল:

textwidth=78
      Last set from C:\Program Files (x86)\Vim\vim74\vimrc_example.vim

ইন vimrc_example.vim , আমি প্রাসঙ্গিক লাইন পাওয়া যায়নি:

" Only do this part when compiled with support for autocommands.
if has("autocmd")

  ...

  " For all text files set 'textwidth' to 78 characters.
  autocmd FileType text setlocal textwidth=78

  ...

এবং আমি দেখতে পেলাম যে আমার .vimrc ফাইলটি স্যুরস করছে:

source $VIMRUNTIME/vimrc_example.vim

আমার ক্ষেত্রে, আমি textwidthকোনও ফাইলের জন্য সেট করতে চাই না , তাই আমি কেবলমাত্র vimrc_example.vim এ প্রাসঙ্গিক লাইনটি মন্তব্য করেছি


1
Vimrc_example.vim ফাইলটি সম্পাদনা করার পরিবর্তে, আমি সবেমাত্র autocmd FileType text setlocal textwidth=0vimrc ফাইলটিতে যুক্ত করেছি এবং অন্যান্য প্রস্তাবিত সমাধান না করলে সমস্যাটি স্থির হয়েছে।
গ্র্যান্ডএডমিরাল

3

এটি ঠিক এখন সেট করুন rap আপনাকে ভিআই / নতুন লাইন যুক্ত না করে দীর্ঘ লাইনে পেস্ট করার অনুমতি দেবে, তবে সহজেই পড়ার জন্য লাইনটি দৃশ্যত মোড়ানো হবে না। পরিবর্তে এটি কেবল একটি দীর্ঘ লাইন যা আপনাকে স্ক্রোল করতে হবে।

লাইন চাক্ষুষরূপে মোড়ানো কিন্তু এটা ঢোকানো সম্পর্কে newline অক্ষর আছে না করেই, have সেট মোড়ানো (যা সম্ভবত ডিফল্টভাবে তাই সেটে প্রয়োজন নেই) এবং সেট textwidth = 0

কিছু সিস্টেমে পাঠ্য প্রস্থ = 0 এর সেটিং ডিফল্ট। যদি আপনি এটি কেস হিসাবে না পেয়ে থাকেন তবে আপনার .exrc ফাইলটিতে পাঠ্য প্রস্থে 0 সেট করুন যাতে এটি সমস্ত vi / vim সেশনের জন্য আপনার ব্যবহারকারীর ডিফল্ট হয়ে যায়।

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