امروزه فرمت yaml تبدیل شده به یک استاندارد فایلهای کانفیگ اکثر برنامهها .پروژه هایی مانند Ansible kubernetes ، docker-compose و ... از این فرمت فایل برای پیکربندی استفاده میکنند.ویرایش این فایلها چالش اکثر مدیران سیستم ،مهندسین Devops و حتی برنامه نویس ها است، دلیلش هم فاصلهگذاریها و یا همون indent گذاری هست.
اگر تو محیط گرافیکی باشید مشکل چندانی با این قضیه ندارید چون اکثر IDE ها فرمت yaml رو میشناسند و فاصله گذاری رو برای شما انجام میدهد. حالا اگر روی سرور خواستیم یک فایل رو ویرایش کنیم که به فقط یه ترمینال داریم چیکار کنیم؟
توی این مقاله من چندتا قابلیت دیگه vim رو بهتون معرفی میکنم که کار رو راحت میکنه و استفاده از vim رو لذت بخشتر .
ویرایشگر vim تنظیمات اش رو از فایل vimrc میخونه که توی یکی از این مسیر می تونید اون رو پیدا کنید.
/etc/vim/vimrc ~/.vimrc
مرحله اول فایل vimrc رو باز کنید و این کد رو قرار بدید.
syntax on
اگر این فایل وجود نداشت مشکلی نداره و میتونید با این دستور فایل رو ایجاد کنید. توجه داشته باشید این فایل با . شروع میشه که یعنی یک فایل مخفی هست.
touch ~/.vimrc
ویرایشگر vim هر باری که اجرا میشه اول میاد محتویات این فایل رو چک میکنه و دستورات اون رو اجرا میکنه.
اگر روی سرور شما نسخههای ماقبل vim 8 نصب باشه مثل centos 7 احتمالا کار نمیکنه و شما باید اول پکیج vim-enhanced رو نصب کنید
yum install vim-enhanced
تنظیمات زیر رو هم به فایل .vimrc اضافه کنید.
filetype indent plugin on set ruler autocmd FileType yaml setlocal ts=2 sts=2 sw=2 expandtab autoindent
با دستور اول indenting یا همون فاصله گذاری تو در تو رو فعال میکنیم
set ruler :
شماره سطر و ستون رو نمایش میده
خط سوم برای فایل های yaml میاد و این موارد رو تغییر میده
ts=2
این میگه حرکت کلید تب به اندازی دوتا کاراکتر باشه
sts=2
این میگه اگه دوبار space رو زدی انگاری یه کلید tap رو زده باشی
set sw=2 :
توی vim اگر دوبار این >> کاراکتر رو بزنی خط رو شیفت میده. حالا این دستور میگه به اندازه دو تا اسپیس شیفت رو انجام بده
set expandtab
تب رو تبدیل به اسپیس میکنه.
اگر دوست داشته باشید که خطوط شماره گذای بشه این کد رو به فایل vimrc اضافه کنید.
set number
مرحله بعدی نصب یه پلاگین کاربردی هست که توی ویرایش فایل های vim خیلی بدردخوره هست.این دوتا دستور رو برای نصب پلاگین indentLine
وارد کنید
git clone https://github.com/Yggdroot/indentLine.git ~/.vim/pack/vendor/start/indentLine
vim -u NONE -c "helptags ~/.vim/pack/vendor/start/indentLine/doc" -c "q"
بعدش توی فایل vimrc این کد رو هم اضافه کنید.با این کد هر دوتا فاصلهای که وارد کنید یه کاراکتر "|" نمایش میده.این نکته رو هم بگم که فقط این کاراکتر رو نمایش میده و توی فایل این کاراکتر رو اضافه نمیکنه
let g:indentLine_char = '|'
میتونید یه لیست از کاراکترها رو هم بهش بدید.اینطوری به ترتیب کاراکترها رو نمایش میده که هم خواناتر میشه و هم خشکل تر
let g:indentLine_char_list = ['|'، ':'،'.']
توی اینجا میتونید تنظیمات کامل پلاگین رو مشاهده کنید
https://github.com/Yggdroot/indentLine
ویرایشگر vim قابلیت های زیادی داره و با یه سرچ ساده میتونید کلی پلاگین و کانفیگ جالب و کاربردی توی اینترنت پیدا کنید.
امیدوارم این مقاله براتون مفید بوده باشه.اگر هم خوشتون اومد میتونید لایک فراموش نشه.