অভ্যন্তরীণ ভিএম ওয়ার্ডলিস্টে ফাইল নির্দিষ্ট ভাল শব্দ যুক্ত করুন (মডেলিনের মাধ্যমে)


9

মডেলিনের মাধ্যমে ভিমের অভ্যন্তরীণ ওয়ার্ডলিস্টে সঠিকভাবে বানানযুক্ত শব্দ যুক্ত করা সম্ভব? বা অন্য একটি ফাইল নির্দিষ্ট পদ্ধতি?

ভিম কী কমান্ডের মাধ্যমে zGবা অস্থায়ী অভ্যন্তরীণ-ওয়ার্ডলিস্টে শব্দ যুক্ত করতে পারে :spellgood! {word}। একই মডেলাইন করা যেতে পারে?

উদাহরণটি এমন পাঠ্য অনুসরণ করবে যেখানে আমি চাইব যে ভিএম এর বানান যাচাই করার সময় "আরএএস" এবং "আরএপি" সংক্ষেপিত শব্দগুলি ভাল শব্দ হিসাবে বিবেচিত হবে।

আরএএস সিন্ড্রোম ("রিডানড্যান্ট অ্যাক্রোনিয়াম সিন্ড্রোম সিন্ড্রোম" এর জন্য সংক্ষিপ্ত), পিএনএস সিন্ড্রোম ("পিন নম্বর সিন্ড্রোম সিন্ড্রোম" নামে পরিচিত, যা "ব্যক্তিগত পরিচয় নম্বর নম্বর সিন্ড্রোম সিন্ড্রোম") বা আরএপি বাক্যাংশগুলি ("রিডানড্যান্ট অ্যাক্রোনিয়াম ফ্রেস বাক্যাংশ"), এক বা একাধিক শব্দের ব্যবহারকে বোঝায় যা সংক্ষিপ্ত আকারের সাথে সংক্ষেপে সংক্ষিপ্ত আকার বা আদ্যক্ষর তৈরি করে, এভাবে ফলস্বরূপ এক বা একাধিক শব্দের পুনরাবৃত্তি করে।

Http://en.wikedia.org/wiki/RAS_syndrome থেকে পাঠ্যটি অনুলিপি করা হয়েছিল

উত্তর:


6

বর্তমানে ভিম এটি করার জন্য কোনও "দেশীয়" প্রক্রিয়া সরবরাহ করে না, যদিও আমি মনে করি এটি একটি ভাল ধারণা। কেবলমাত্র আমিই ভাবতে পারি এটি এমন :autocmdএকটি ফাংশনকে কল করে যা ফাইলের একটি বিশেষ বিভাগ অনুসন্ধান করে এবং তারপরে সেই বিভাগের শব্দের উপরে কার্সারটি সরিয়ে দেয় এবং আদেশগুলি zGদিয়ে ট্রিগার :normalকরে। এটি অগোছালো হবে এবং আমি এটি নিয়ে মাথা ঘামাতে নারাজ।

সম্পাদনা: অবশ্যই:spellgood!এটি আপনার প্রশ্নের মধ্যে থাকা সত্ত্বেওআমি কোনওভাবেই এর অস্তিত্বটিকে উপেক্ষা করেছি। এটি কাজটি আরও অনেক সম্ভাব্য করে তুলেছে। আমি একটি বেসিক বাস্তবায়ন নিয়ে এসেছি যা আপনি আপনার প্রয়োজন অনুসারে সামঞ্জস্য করতে পারেন:

function! AutoSpellGoodWords()
    let l:goodwords_start = search('\C-\*-SpellGoodWordsStart-\*-', 'wcn')
    let l:goodwords_end = search('\C-\*-SpellGoodWordsEnd-\*-', 'wcn')
    if l:goodwords_start == 0 || l:goodwords_end == 0
        return
    endif
    let l:lines = getline(l:goodwords_start + 1, l:goodwords_end - 1)
    let l:words = []
    call map(l:lines, "extend(l:words, split(v:val, '\\W\\+'))")
    for l:word in l:words
        silent execute ':spellgood! ' . l:word
    endfor
endfunction

autocmd BufReadPost * call AutoSpellGoodWords()

এটি এমন কোনও ব্লকের জন্য অনুসন্ধান করবে যা দেখতে এরকম কিছু দেখাচ্ছে:

-*-SpellGoodWordsStart-*-
word1 word2 word3
word4 word5 ...
-*-SpellGoodWordsEnd-*-

আর প্রতিটি শব্দ এটা খুঁজে দেয় - এই ক্ষেত্রে, word1, word2, word3, word4, এবং word5ব্লক --within এটা অস্থায়ী ভাল শব্দ লিস্টে যোগ করা হবে।

শুধু সচেতন থাকুন যে আমি এটি স্ট্রেস-টেস্ট করিনি।


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