ইনডেন্টের সাথে ভিএম লাইন মোড়ানো


20

Vim / gvim দীর্ঘ লাইন এইভাবে আবদ্ধ করবে:

000000000000000000000000000000000000|
00000000000000                      |
    11111111111111111111111111111111|
111111111111111111                  |
    22222222222222222222222222222222|
222222222222222222                  |
        3333333333333333333333333333|
3333333333333333333333              |

পরিবর্তে এইভাবে এই লাইনগুলি মোড়ানোর জন্য ভিমকে পাওয়ার কী উপায় আছে:

000000000000000000000000000000000000|
 00000000000000                     |
    11111111111111111111111111111111|
     111111111111111111             |
    22222222222222222222222222222222|
     222222222222222222             |
        3333333333333333333333333333|
         3333333333333333333333     |

আমি চাই যে মোড়ানো রেখাটি সেই লাইনটি যেদিকে শুরু হয়েছিল তার ইন্ডেন্টের খানিক আগে শুরু করুন। (পরিষ্কার করে বলতে গেলে, আমি মোড়কের কথা বলছি, পাঠ্য প্রস্থের কথা নয়।)

আমি চাই যে লাইনটির মোড়কে লাইনটির ইন্ডেন্টেশন বিবেচনা করা উচিত যাতে কোডের কাঠামো মোড়ানো লাইনের মাধ্যমে লুকানো না থাকে।

উত্তর:


17

আপডেট: এই কার্যকারিতাটি ভিএম 7.4.338 এ অবতরণ করেছে, যদিও আপনি 7.4.354 বা তার পরে চাইবেন


সুতরাং স্পষ্টতই এর জন্য ভিমের একটি প্যাচ দরকার২০০ 2007 সালে ভ্যাক্লাভ স্মিলাউয়ারের একটি প্যাচ রয়েছে। ফেডোরা ১১ থেকে আমি ভিম .2.২.১৪৮৪ এর সাথে কাজ করার জন্য প্যাচটি আপডেট করেছি । তবে এটি কাজটি করার মতো বলে মনে হচ্ছে না।


1
ফেডোরা যখন ভিমের আপডেট আপডেট করে, আমি প্যাচ আপডেট করছি। সর্বশেষতমের জন্য retracile.net/wiki/VimBreakIndent দেখুন ।
পুনরায় প্রত্যাহার করুন

বোনাস এমন কাউকে দেখায় যে ম্যাকভিমের সাথে এটি কীভাবে কাজ করবে তা ব্যাখ্যা করতে পারে।
ডোনট

প্যাচ কোথায়? এই সাইটটি আমি দেখতে পাচ্ছি এমন
কোনওটির

@ পুক: দুঃখিত, একটি বড় সফ্টওয়্যার আপগ্রেড কিছু লিঙ্কের অবস্থান পরিবর্তন করেছে। আমি এখন এটি স্থির করেছি।
পুনরুদ্ধার করুন

1
আজ অবধি (25 জুন, 2014) ব্রেকেন্ডেন্ট প্যাচটি আনুষ্ঠানিকভাবে ভিম 7.4 এর অংশ - এটি প্যাচ 338 এবং 345 দ্বারা যুক্ত করা হয়েছে
হেপাটাইতে

14

আপনার .vimrc এ:

set wrap               " soft-wrap lines

" requires +linebreak compile-time option (not in the 'tiny' and 'small' builds); check your :version
set showbreak=----->   " prefix for soft-wrapped lines (no actual line break character)
"set linebreak          " soft-wrap lines only at certain characters (see :help breakat)

" If you like line numbers, you may want this instead:
"set number
"set showbreak=------>\  " line up soft-wrap prefix with the line numbers
"set cpoptions+=n        " start soft-wrap lines (and any prefix) in the line-number area

অথবা যে :set showbreak=----->কোনও সেশনে টাইপ করুন।

রেফারেন্সের জন্য, আমার গবেষণার ট্রেইল (Vim 6.2): :help 'wrap'-> :help 'linebreak'-> ( :help 'showbreak'-> :help 'cpoptions', :help 'breakat')


খুব দুর্দান্ত, তবে আসলে আমি যা বোঝাতে চাইছিলাম তা নয়। আপনি যেটা ইচ্ছা করেছিলেন তার চেয়ে একটু বেশি আক্ষরিক অর্থে নিয়েছেন তাই আমার দোষ সেখানে। আমি স্পষ্ট করতে পারি কিনা তা আমি দেখব।
retracile

1

আপনার প্রশ্নের সমাধান দুটি ক্ষেত্রে পরামিতি সেট করে আপনার অর্জন করা যেতে পারে vimrc:

একই ইন্ডেন্টেশন সহ লাইনগুলি ভাঙ্গতে: set breakindent

এবং নরম মোড়ক করা লাইনগুলিতে প্রবেশের জন্য একটি স্থান: let &showbreak=' '

এটি এইভাবে কাজ করবে:

111111111111111|
 11111111111111|
 11111         |
222222222222222|
 222222222222  |
333333333333333|
 33333         |

0

আপনি যে নিখুঁত উত্তরটি সন্ধান করছেন তা নয়, তবে ভিমের যথাযথ ইনডেন্টেশনের অভাব পেতে আমি এখানে যা করি তা এখানে।

প্রথমে, নাথনেল কেনের ইনডেন্ট গাইড (alচ্ছিক) ডাউনলোড করুন এটি আরও ভালভাবে নির্দেশ করে যে আপনি কোন ইন্ডেন্টেশন স্তরে আছেন এমনকি এমন বিন্দুতেও যেখানে আপনি ট্যাবউইদথগুলিকে মাত্র 2 স্পেস হিসাবে সেট করতে পারেন!

দ্বিতীয়ত, শব্দ মোড়ানো টগল করার জন্য একটি মূল সংমিশ্রণ মানচিত্র করুন। আমি এর মতো 'মোড়ানো' ('ডাব্লু' সংরক্ষণের জন্য) 'র' তে সেট করেছি

:noremap <leader>r :set nowrap! <CR>

তারপরে আমার কাছে সর্বদা শব্দ মোড়ানো বন্ধ রয়েছে, যেহেতু এটি আরও নান্দনিকভাবে আনন্দদায়ক এবং আমি যদি লাইনটি সম্পাদনা করতে চাই তবে আমি তা দ্রুত টগল করি।


0

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

" 'showbreak'   : string to put before wrapped screen lines
set sbr=\ \ \ \ \ \ \ \ \ \ \ \ \ \|\ 
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.