আমি মনে করি যে + বা + সংমিশ্রণ সহ কোডটিতে দ্রুত অদলবদল true
এবং false
মানগুলি পাওয়া সম্ভব হবে । তার জন্য কিছু প্লাগইন আছে বা অন্য কিছু?ctrlactrlx
আমি মনে করি যে + বা + সংমিশ্রণ সহ কোডটিতে দ্রুত অদলবদল true
এবং false
মানগুলি পাওয়া সম্ভব হবে । তার জন্য কিছু প্লাগইন আছে বা অন্য কিছু?ctrlactrlx
উত্তর:
আপনি যে বুলিয়ান মানগুলি চেষ্টা করতে পারেন তা টগল করার জন্য আমি একটি প্লাগইন ( টগল-বুল ) লিখেছি । এটি নিম্নলিখিত বুলিয়ান মানগুলিকে সমর্থন করে:
true
<-> false
yes
<-> no
on
<-> off
0
<-> 1
এখানে সুইচ.ভিম রয়েছে এবং এটি কাস্টমাইজযোগ্য।
প্লাগইনটির প্রধান এন্ট্রি পয়েন্ট হ'ল একক কমান্ড
:Switch
,। কমান্ডটি কার্যকর করা হলে, প্লাগইন কার্সারের নীচে কয়েকটি নির্দিষ্ট নিদর্শনগুলির মধ্যে একটি সন্ধান করে এবং প্যাটার্নের উপর নির্ভর করে একটি সাবস্টিশন সম্পাদন করে।
উদাহরণস্বরূপ যদি true
নিম্নলিখিত কোডে কার্সারটি থাকে :
flag = true
তারপর মৃত্যুদন্ড কার্যকর করার পরে :Switch
, true
ইচ্ছা রূপান্তরিত হবে false
।
টগলিং true
/ false
এবং অনুরূপ অনেক প্লাগইন লেখক প্রয়োগ করেছেন। এর মধ্যে দুটি উল্লেখ করা হয়েছে:
অন্যরা হয় টগল টিমো Teifel (দ্বারা # 895 ), সোমবার স্টিফান Karlsson (দ্বারা # 1046 ), toggle_words ভিনসেন্ট ওয়াং (দ্বারা # 1676 ), toggle_word Alexandru Ungur (দ্বারা # 1748 ), incbool.vim দিমিত্রি পেট্রোভ দ্বারা ( # 4361 , GitHub ) , মাইকেল আর্ট দ্বারা পরবর্তী ( # 4536 , গিথুব )।
কেবলমাত্র যদি আপনি একটি কাস্টম সিরিজ অনুসারে সংখ্যা বাড়াতে চান, যেমন ফিবোনাচি সিরিজ, ব্যারি আর্থার ( গিথুব ) দ্বারা নেক্সাস পরীক্ষা করে দেখুন ।
Ctrl-A/X
যাইহোক, তাদের সব ডিফল্টরূপে ধারণা অনুসরণ প্রসারিত করতে Ctrl-A/X
কিন্তু কোন নতুন আদেশ এবং / অথবা একটি নতুন ম্যাপিং সংজ্ঞায়িত (Incl। Switch.vim এবং টগল-bool, )। আমি সেই প্লাগইনগুলি হাইলাইট করতে চাই যা Ctrl-A/X
বাক্স থেকে 'সুপারচার্জ' করে এবং তাই, ওপি যা বলেছে তা ডিফল্টরূপে সরবরাহ করে:
যা প্রসারিত একটি সংশ্লিষ্ট প্লাগইন Ctrl-A/X
করা হয় speeddating টিম পোপ (দ্বারা # 2120 , GitHub ) যা আপনি বৃদ্ধি তারিখ করতে পারবেন।
কিছু প্লাগইন Ctrl-A/X
একটি ফ্যালব্যাক হিসাবে দ্বিতীয় ইনক্রিমেন্টর প্লাগইন একত্রিত করার অনুমতি দেয় eg
মাইকেল ব্রাউন লিখেছেন :
nmap <Plug>SwapItFallbackIncrement <Plug>SpeedDatingUp
nmap <Plug>SwapItFallbackDecrement <Plug>SpeedDatingDown
vmap <Plug>SwapItFallbackIncrement <Plug>SpeedDatingUp
vmap <Plug>SwapItFallbackDecrement <Plug>SpeedDatingDown
বুটলেক দ্বারা চক্র :
map <silent> <Plug>CycleFallbackNext <Plug>SpeedDatingUp
map <silent> <Plug>CycleFallbackPrev <Plug>SpeedDatingDown
অ্যান্ড্রু রাদেভ দ্বারা সুইচ.ভিম :
nnoremap <c-a> :if !switch#Switch()<bar>call speeddating#increment()<bar>endif<cr>
nnoremap <c-x> :if !switch#Switch({'reverse': 1})<bar>call speeddating#decrement()<bar>endif<cr>
দ্রষ্টব্য
আপনি যদি বিল্টিনের সিক আচরণ ব্যবহার করেন Ctrl-A/X
(বৃদ্ধির সাথে সাথে পরবর্তী সম্ভাব্য মানটি সন্ধান করুন), তাদের সুপারচার্জিং হস্তক্ষেপ করতে পারে।
আপনি কী ব্যবহার করতে চান তাতে ম্যাপিংটি পরিবর্তন করুন
পূর্ববর্তী স্থানটি যদি কোনও স্থানের উপরে ব্যবহার করে তবে এটি যেহেতু সিআইইউ শব্দের পরিবর্তে স্থানটি সম্পাদনা করবে (এবং নির্ভরযোগ্যভাবে সঠিক শব্দটিতে পৌঁছানোর সহজ উপায় নেই)
function SwapBool ()
let s:w = expand("<cword>")
if s:w == "false"
normal ciwtrue
if expand("<cword>") != "true"
normal u
endif
elseif s:w == "true"
normal ciwfalse
if expand("<cword>") != "false"
normal u
endif
endif
endfunction
noremap <C-F> :call SwapBool()^M
<C-V><Enter>
আক্ষরিকভাবে ^ এম না হওয়াতে note এম হওয়া দরকার
<C-a>
এবং <C-x>
যখন বর্তমান শব্দটি বুলিয়ান নয়, এইভাবে ওপি এই ম্যাপিংগুলি ব্যবহার করতে সক্ষম হবে। এছাড়াও আপনি ব্যবহার করতে পারেন <CR>
পরিবর্তে ^M
আপনার ম্যাপিং, এবং এটি সাধারণত আপনার এমন মোডে প্রদান একটি সেরা অভ্যাস map
কমান্ড এখানে nnoremap
চেয়ে বেশি উপযুক্ত হবে noremap
।