উত্তর:
সর্বোত্তম পদ্ধতি হ'ল সেই সেটিংসটি .োকাতে ~/.vim/after/ftplugin/<filetype>.vim।
এইচটিএমএলের জন্য (ধরে নিচ্ছেন যে আপনি 4 টি অক্ষর-বিস্তৃত ট্যাবগুলি চান):
~/.vim/after/ftplugin/html.vim
setlocal shiftwidth=4
setlocal softtabstop=4
setlocal noexpandtab
Ftplugin ব্যবহার করা অটোকমন্ড ব্যবহার করা বেশি পছন্দ কারণ ভিম ইতিমধ্যে ফাইল টাইপ চেক নিজেই করে এবং ইতিমধ্যে পর্যাপ্ত ftplugin উত্স করার চেষ্টা করে যাতে আরও চেক জোর করার এবং চাকাটিকে পুনরায় প্রয়োগ করার কোনও কারণ নেই।
- সম্পাদনা -
filetype plugin onআপনার নিজের vimrcযা আছে তা ধরে নিলে - যা আপনার করা উচিত - ভিম আপনার সম্পাদনা করা ফাইলগুলির ফাইল টাইপ সনাক্ত করার চেষ্টা করবে এবং একবার সঠিক ফাইল টাইপটি খুঁজে পেয়ে বাফারের জন্য সেট হয়ে গেলে, এই স্ট্যান্ডার্ড লোকেশনগুলিতে সংশ্লিষ্ট ftplugin উত্স করার চেষ্টা করুন:
$VIMRUNTIME/ftplugin/html.vim
~/.vim/ftplugin/html.vim
~/.vim/ftplugin/after/html.vim
এর সবগুলি স্বয়ংক্রিয়ভাবে ঘটে তাই আপনার ফাইল টাইপটি ভিমের দ্বারা স্বীকৃত হলে কোনও ফাইল টাইপ সনাক্তকরণ যুক্তি যুক্ত করার কোনও কারণ নেই: কেবলমাত্র আপনার সেটিংসটি ডান এফটিপ্লাগিনে যুক্ত করুন এবং আপনি ভাল are
filetype plugin indent onআপনার মধ্যে আছে তা নিশ্চিত করুন vimrc।
filetype plugin onসেট করা থাকে ততক্ষণ , ভিমের পথে তার পথে থাকা ফাইলগুলি ftplugin/<filetype>.vimএবং after/ftplugin/<filetype>/vimফাইলগুলি অন্তর্ভুক্ত থাকে ।
আপনি নিজের অটোক্যামেন্ড দিয়ে এটি করতে পারেন .vimrc।
উদাহরণস্বরূপ, আমার একটি ফাংশন রয়েছে html_like_modeযা এইচটিএমএল ফাইল সম্পাদনা করার জন্য বিভিন্ন জিনিস সেট আপ করে। আমার মধ্যে .vimrc, আমি:
au BufNewFile,BufRead *.html call s:html_like_mode()
ফাইল এক্সটেনশন বন্ধ যে কী। আপনি যদি এটি সক্ষম করে থাকেন তবে আপনি ফাইল টাইপের কীও করতে পারেন:
au FileType perl setlocal equalprg=perltidy
আপনি দেখতে পাচ্ছেন, এটি কোনও আদেশ দিতে পারে। সুতরাং আপনি সহজেই setlocal shiftwidth 4আপনার * .c ফাইলগুলির জন্য একটি করতে পারেন ।
augroupআপনাকে সম্পর্কিত অটোমোন্ডগুলিকে নামযুক্ত গোষ্ঠীতে গোষ্ঠী তৈরি করতে দেয়। ( স্বতঃসমানু গোষ্ঠীগুলি সম্পর্কে জানতে এখানে দেখুন )) আমরা augroupঅটোকমন্ডগুলি এমনভাবে যুক্ত করতে ব্যবহার করি যা প্রতিবারই উত্সটি তৈরি করার ~/.vimrcসময় কোনও সদৃশ যুক্ত হয় না।
augroup vimrc
autocmd!
augroup END
autocmd vimrc FileType html setlocal shiftwidth=4 tabstop=4