(আমি আসলে এটি নিজে নিজেই বের করেছিলাম কিন্তু এই সাইটে কোনও উত্তর খুঁজে না পাওয়ায় আমি ভেবেছিলাম যে একটি স্ব-উত্তরযুক্ত প্রশ্ন তৈরি করা উপকারী হতে পারে )
এটি করার জন্য নিম্নলিখিত ফাংশনটি তৈরি করা এবং এটিতে রাখা সম্ভব .vimrc
:
function! ToggleTestAutoGroup()
if !exists('g:TestAutoGroupMarker')
let g:TestAutoGroupMarker = 1
endif
" Enable if the group was previously disabled
if (g:TestAutoGroupMarker == 1)
let g:TestAutoGroupMarker = 0
" actual augroup
augroup TestAutoGroup
autocmd! BufEnter * echom "BufEnter " . bufnr("%")
autocmd! BufLeave * echom "BufLeave " . bufnr("%")
autocmd! TabEnter * echom "TabEnter " . tabpagenr()
autocmd! TabLeave * echom "TabLeave " . tabpagenr()
augroup END
else " Clear the group if it was previously enabled
let g:TestAutoGroupMarker = 1
" resetting the augroup
augroup TestAutoGroup
autocmd!
augroup END
endif
endfunction
ফাংশনটি গ্রুপটি আগে সক্রিয় ছিল কি না তা নির্ধারণ করতে ব্যবহৃত একটি ভেরিয়েবল তৈরি করে।
যখন এটি সক্ষম করা হয়নি, গোষ্ঠীটি ওয়ান্টিকোম্যান্ডস চেয়েছিল with গোষ্ঠীটি আগে সক্ষম থাকলে আমরা autocmd!
এটি "পুনরায় সেট করতে" অর্থাত্ এর মধ্যে পূর্বে প্রবেশ করা কমান্ডটি মোছা ব্যবহার করি।
একটি প্রাসঙ্গিক ডকুমেন্টেশন এখানে
অবশেষে ফলোভিং ম্যাপিং তৈরি করা সম্ভব:
nnoremap <F4> :call ToggleTestAutoGroup()<CR>
F4ফাংশন কল করতে ব্যবহার করতে।
সম্পাদনা : কার্ল ইয়ংভে লার্ভা এই ফাংশনের একটি উন্নত সংস্করণ বলেছিল যা কোডের রেখার সংখ্যা হ্রাস করেছে, আমি অনুভব করেছি যে আমার মত একটি ভার্সস্ক্রিপ্ট ডেবিউটিস্ট দ্বারা বোঝার জন্য প্রথমটি এখনও সহজ কাজ করা ভাল হতে পারে প্রথমটি এখনও কাজ করা ভাল হবে।
এখানে কার্লের উন্নত ফাংশন, তাকে অনেক ধন্যবাদ:
function! ToggleTestAutoGroup()
" Switch the toggle variable
let g:TestAutoGroupToggle = !get(g:, 'TestAutoGroupToggle', 1)
" Reset group
augroup TestAutoGroup
autocmd!
augroup END
" Enable if toggled on
if g:TestAutoGroupToggle
augroup TestAutoGroup
autocmd! BufEnter * echom "BufEnter " . bufnr("%")
autocmd! BufLeave * echom "BufLeave " . bufnr("%")
autocmd! TabEnter * echom "TabEnter " . tabpagenr()
autocmd! TabLeave * echom "TabLeave " . tabpagenr()
augroup END
endif
endfunction
এই সংস্করণে গোষ্ঠীটি সর্বদা পুনরায় সেট করা থাকে এবং যদি এটি সক্ষম না করা হয় তবে এটি ওয়ান্টিকোমন্ডমগুলি চেয়েছিল