: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
ম্যানুয়ালটি পড়েছেন?