วันพฤหัสบดีที่ 1 มิถุนายน พ.ศ. 2560

การใช้งาน vim กับ golang

Memo ไว้หน่อยเดี๋ยวลืมวิธีการตั้งค่า vim กับ go

1. การที่จะทำให้ vim autocomplete ได้นั้นจะต้องเป็น vim version 7.4+  และควรจะ compile enable lua มาด้วย

บน OSX ใช้คำสั่ง

brew install vim --with-lua
จากนั้น set alias ให้ ใช้ vim บน vim ที่ติดตั้งใหม่ แล้วแต่ว่าใช้ shell ตัวไหน .zshrc หรือ .bashrc 


alias vi="/usr/local/Cellar/vim/8.0.0604/bin/vim"
alias vim="/usr/local/Cellar/vim/8.0.0604/bin/vim"


2. ติดตั้ง vim-go https://github.com/fatih/vim-go
ซึ่งมีวิธีติดตั้ง ง่ายๆดังนี้
https://github.com/fatih/vim-go-tutorial#quick-setup

curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
git clone https://github.com/fatih/vim-go.git ~/.vim/plugged/vim-go

3. set vimrc โดยการ สั่ง 
go get github.com/fatih/vim-go-tutorial
จะได้ vimrc template มาโดยจะอยู่ที่  GOPATH/src/github.com/fatih/vim-go-tutorial/   ให้ copy ไปแทน ~/.vimrc ได้เลย

4. ติดตั้ง plugin ทั้งหมด โดยการเปิด vim แล้วพิมพ์คำสังติดตั้ง plugin ดังนี้

:GoInstallBinaries

 5. ส่วนตัวผมใช้ wakatime ต้องลง plugin wakatime ซึ่งต้องใช้ Vundle ฉะนั้นจะต้องลง Vundle เพิ่ม

$ git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim

6. แก้ไข .vimrc เพิ่มคำสั่งดังนี้ต่อท้าย file 


set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
Plugin 'wakatime/vim-wakatime'
call vundle#end()

7. ติดตั้ง plugin ของ vbundle โดยเรียก vim แล้วใช้คำสั่ง

:PluginInstall

8. ติดตั้ง neocomplete


git clone https://github.com/Shougo/neocomplete.vim.git ~/.vim/neocomplete.vim

[สำคัญมาก] copy file ทุก file ที่อยู่ใน ~/.vim/neocomplete.vim/ ออกมาไว้ใน ~/.vim

จากนั้นแก้ไข file ~/.vimrc เพิ่มข้อมูลดังนี้ต่อท้าย file


let g:neocomplete#enable_at_startup = 1 
let g:neocomplete#enable_smart_case = 1 
let g:neocomplete#sources#syntax#min_keyword_length = 3 

9. การเรียกใช้คำสั่ง build run test ของ go สามารถเรียกผ่าน vim ได้เลย

:GoRun:GoInstall:GoTest

10. สามารถเรียก autocomplete เองได้ ถ้าไม่ได้ใช้ neocomplete โดยการกด CTRL+X+O หรือ CTRL+P

11. ติดตั้ง NERDTree
ใช้ Plug  เป็นตัวช่วยติดตั้งโดย edit ~/.vimrc เพิ่มบรรทัดนี้ลงไป


Plug 'scrooloose/nerdtree'

และเพิ่ม ให้กด CTRL+o ให้เปิด NERDTree


map <C-o> :NERDTreeToggle<CR>

ถ้าใครต้องการให้เข้า vim  แล้วเปิด NERDTree เลยก็สามารถทำได้โดยเพิ่มคำสั่งดังนี้


autocmd VimEnter * NERDTree

จากนั้นเข้า vim  แล้วพิมพ์คำสั่ง PlugInstall