উত্তর:
সর্বোত্তম পদ্ধতি হ'ল সেই সেটিংসটি .োকাতে ~/.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