আমি আপনার উদ্দেশ্য ভালভাবে বুঝতে পারি, আমি একচেটিয়াভাবেও বাফারগুলি ব্যবহার করি এবং প্রয়োজনে মাঝেমধ্যে বিভক্ত হয়।
নীচে আমার অংশ .vimrc
" disable macro, since not used in 90+% use cases
map q <Nop>
" q, close/hide current window, or quit vim if no other window
nnoremap q :if winnr('$') > 1 \|hide\|else\|silent! exec 'q'\|endif<CR>
" qo, close all other window -- 'o' stands for 'only'
nnoremap qo :only<CR>
set hidden
set timeout
set timeoutlen=200 " let vim wait less for your typing!
যা আমার ওয়ার্কফ্লো বেশ ভাল ফিট করে
যদি q
চাপ দেওয়া হত
- একাধিক উইন্ডো খুললে বর্তমান উইন্ডোটি আড়াল করুন, অন্যথায় ভিআইএম ছাড়ার চেষ্টা করুন।
যদি qo
চাপা ছিল,
- অন্য সমস্ত উইন্ডোটি বন্ধ করুন, কেবলমাত্র একটি উইন্ডো থাকলে কোনও প্রভাব নেই।
অবশ্যই, আপনি সেই অগোছালো অংশটিকে কোনও ফাংশনে আবদ্ধ করতে পারেন , যেমন
func! Hide_cur_window_or_quit_vim()
if winnr('$') > 1
hide
else
silent! exec 'q'
endif
endfunc
nnoremap q :call Hide_cur_window_or_quit_vim()<CR>
Sidenote : আমি পুনরায় ম্যাপ q
, যেহেতু আমি সম্পাদনা করার জন্য ম্যাক্রো ব্যবহার করবেন না, পরিবর্তে ব্যবহার :s
, :g
, :v
, এবং বহিরাগত টেক্সট প্রক্রিয়াকরণ কমান্ড প্রয়োজনে, যেমন, :'{,'}!awk 'some_programm'
, বা ব্যবহারের :norm! normal-command-here
।