:setকেবলমাত্র বিকল্পগুলির সাথে কাজ করে এবং সেহের উত্তরটি কয়েকটি ভাল ব্যবহারের উদাহরণ প্রদর্শন করে।
:letঅন্যদিকে প্রায় যা কিছু :setকরতে পারে তা করতে পারে আরও অনেক কিছু। এটি একটি মান নির্ধারণ করতে পারে
- একটি পরিবর্তনশীল, যেমন
let vi = 'vim'
- একটি বিকল্প, যেমন
let &tw = 40
- একটি রেজিস্টার, যেমন
let @a = $HOME . '/vimfiles'
- পরিবেশের পরিবর্তনশীল, যেমন
let $NOTHING = 'NOTHING'
আর একটি বড় পার্থক্য হ'ল ডান হাতের দিকটি :letএকটি অভিব্যক্তি , যার অর্থ আপনি স্ট্রিং কন্ডকেটেশন (উপরে আমার রেজিস্টারের উদাহরণে দেখা যায়) এবং গাণিতিক ক্রিয়াকলাপগুলি (যেমন let &tw = 40 + 60) যেমন কাজ করতে পারেন things এর অর্থ হ'ল এটি যদি স্ট্রিং থাকে তবে আপনাকে মানটি উদ্ধৃত করতে হবে। :setঅন্যদিকে মান ভারব্যাটিম পড়ে।
:setবিকল্পগুলির সাথে এটি ব্যবহার করা সহজ যদিও :letএটি বেশিরভাগটি করতে পারে, সেহের উদাহরণগুলি ব্যবহার করে এখানে কিছু তুলনা করা হচ্ছে ("এন / এ" মানে এটি করার কোনও উপায় নেই :let)
:verbose set বনাম এন / এ (সমস্ত বিকল্পের তালিকার অন্য উপায় আছে বলে মনে করবেন না)
:set tw=40বনাম :let &tw = 40(হ্যাঁ, letআপনিও একই শর্টহ্যান্ড ব্যবহার করতে পারেন )
:set wrap& বনাম এন / এ
:set nowrapবনাম :let &wrap = 0(বুলিয়ান বিকল্পগুলির জন্য, 0 টি মিথ্যা এবং 1 টি সত্য)
:set wrap! বনাম :let &wrap = !&wrap
আরও কয়েকটি উদাহরণ
- একটি বিকল্পের মান মুদ্রণ করুন:
:set formatoptions?বনাম :echo &formatoptions( letমানগুলি প্রিন্ট করে না, বিপরীতে set)
একসাথে একাধিক বিকল্প বরাদ্দ করা:
:set et sw=4 sts=4
বনাম
:let [&et, &sw, &sts] = [0, 4, 4]
গ্লোবাল বিকল্প সেট করুন: setglobal etবনামlet &g:et = 1
- স্থানীয় বিকল্প সেট করুন:
setlocal etবনামlet &l:et = 1
দেখুন :h :setএবং :h :letআরও বিশদ জন্য
TL; ড
:setশুধুমাত্র বিকল্পগুলির সাথে কাজ করে তবে বাক্য গঠনটি আরও সহজ। :letকেবল বিকল্পগুলি নয় ভেরিয়েবল, রেজিস্টার এবং পরিবেশ ভেরিয়েবলগুলির সাথেও কাজ করে। বিপরীতে :set, ডান হাতের দিকটি :letএকটি অভিব্যক্তি।
:help setএবং:help letম্যানুয়ালটি পড়েছেন?