اگر این مقاله رو دارید میخونید، احتمالاً تو کار Go هستید و دنبال اینید که یه ادیتور یا IDE برای توسعه گولنگ انتخاب کنید.
حتما اولین چیزایی که به ذهنتون خطور میکنه VSCode و یا شایدم گولند باشه؛ که البته خیلیم اتفاقا باحال و خفنن🔥
ولی خب حالا چرا ویم؟؟؟؟
اگه بخوایم خیلی کوتاه بهش بپردازیم به این دلایل که:
خب با این مقدمه بریم سراغ اصل مطلب بعد از این که ویم رو داشتین دیفالت رو سیستمتون و یا خیلی راحت با پکیجمنیجرتون نصبش کردین.
ما توی این پست قراره از سایت فوق خفن https://vim-bootstrap.com استفاده کنیم که اینم گیتهابشونه که اگه دوس داشتید، میتونید بهشون استار بدین یا کانتریبیوت کنید.
دیگه از اینجا به بعدشم که آسوونه دیگه میرید توی سایتشون و اسکرول میکنید پایین و زبان/زبانهای مورد نظرتون رو سلکت میکنید و بعدش پایین اگه احیانا فریمورک میخواید(البته فعلا ساپوت از ویو و svelte رو داره)، بعدش تم مورد نظرتون مثلا من شخصا با همون molokai اوکیم و در نهایت ادیتورتون که میخواید کانفیگ براش جنریت بشه رو از بین Vim و Neovim انتخاب میکنید و اون Generate! رو میزنید و تمام...
بهتون یه فایل generate.vim میده.
بعدش میرید اون جایی که فایل generate.vimتون موجوده با همون cdاینا.... با کامند زیر این فایل رو به اصلی خودش برمیگردونید و اسمشم میذارید .vimrc:
mv ~/Downloads/generate.vim ~/.vimrc
بعد که منتقل کردین اولین باری که ویمتون رو ران کنید؛ یعنی:
vim
یا اگه نشد، با این پایینی:
vim +PlugInstall +qall
که همون بریم تو ویم خودمون و بزنیم: :PlugInstall ولی این مدلی... و تمام دیگه باید صبر کنید تا تمام پلاگینها رو براتون نصب کنه و اون shortcut رو براتون ست میکنه. که مهمترینشون واسه ما همون vim-go و NERDtree که فایل اکسپلور محبوبه ویمه...
یه راهم دیگهام هست،(واسه کسایی که خیلی میخارن و نمیخوان از روش اول استفاده کنن یا میخوان بدونن دقیقا چی نصب میکنن) که میتونید خودتون دستی از اینجا بیاید و vim-go رو نصب کنید؛ که خود این vim-go خیلی از چیزایی که ما واسه کار با گو لازیم داریم رو تو خودش داره مثل: syntax highlighting و folding، تکمیل خودکار با کمک gopls و همچنین دستورات سریع که دیگه نمیخواد از ترمینال برید بیرون و توی همون ویم میتونید رانشون کنید مثل:
و خییلی منطقیه که بعد از نصب vim-go بیاید و NERDTree رو هم خیلی راحت با اضافه کردن 'Plugpreservim/nerdtree' به بخش پلاگینهای فایل .vimrc و بعدش رفتین تو ویم با ران کردن :PlugInstall راحت یه فایلسیستم اکسپلورر خفن رو نصب کنید و با F2 و F3 هم ازش استفاده کنید.
احتمالا اگه مثه من از بقیه IDEها مثل VSCode یا گولند اومده باشید، خیلی انتظار دارید که با نصب go-vim حالا چه از طریق روش اول و یا روش دوم وقتی . میزنید خودش بهتون یه سری پیشنهاداتی بده. که اینجا اینطور نیست :)
اینجا این مدلیه که برای هر جا که نیاز به پیشنهاد داشته باشیم؛ چون دیگه بزرگ شدیم و آقا یا خانووم شدیم برا خودمون کافیه <ctrl+x><ctrl+o> یعنی اول کنترل x و بعدش کنترل o رو بزنیم تا بهمون اون لیست رو نشون بده.
ولی اگه ترجیح میدین که به طور خودکار این لیست بهتون نمایش داده بشه؛ خبر خوب این که برای این منظور هم توی ویم پلاگین داریم و completor برای این کاره؛ که با دستور زیر میتونید ریپوشو از گیت کلون کنید و بذارید سرجای اصلی خودش:
git clone https://github.com/maralla/completor.vim.git ~/.vim/pack/plugins/start/completor.vim
یا این که مثل قبل با Vim-plug یا واندل میتونیم نصبش کنیم؛ این شکلی که این بخش رو اضافه کنیم:
" vim-plug or vundle
Plug 'maralla/completor.vim'
و همچنین اضافه کردن خطوط زیر به فایل .vimrc :
" Enable lsp for go by using gopls
let g:completor_filetype_map = {}
let g:completor_filetype_map.go = {'ft': 'lsp', 'cmd': 'gopls -remote=auto'}"
بعدش دیگه احتمالا اگه برین توی ویمتون و بزنید fmt.Pri خودش بهتون میگه Print میخواید Println یا Printf...
آها راستی ویمتونم فک کنم باید از یه ورژنی بالاتر میبود احتمالا از هشت!!! اگه نیست حتما آپدیت کنید!!!
اگه پلاگینای خوشگلتر یا تم باحالتر یا هر چیز خفنیم میشناسید، این زیر تو کامنتا بهمون بگید ;)