Vim-Go 安裝及入門教學

Go 語言有嚴格的程式格式要求,若沒有照個格式則無法正常進行編譯,因此多數時候都會搭配 go fmt 指令來進行程式自動修正。

在這裡,介紹一個 vim 的 go 編譯管理工具 : vim-go 與 vim-plug,如何能有效率的開發 Go 專案。

安裝 Vim-go 與 vim-plug

安裝 vim-go

git clone https://github.com/fatih/vim-go.git ~/.vim/plugged/vim-go

安裝 vim-plug

curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

接著,開啟 ~/.vimrc

CVT2HUGO: 並且加入以下內容
call plug#begin()
Plug 'fatih/vim-go', { 'do': ':GoInstallBinaries' }
call plug#end()

第一個. Hello world ~ 建立 main go

安裝 vim-go 及. vim-plug 之後,我們來建立一個 go 檔案

vim main.go

當檔案開啟時,會發現自動會生成. Go 基本程式結構

package main

import "fmt"

func main() {
    fmt.Println("vim-go")
}

幾本指令介紹

接著,說明一些常用的指令,也是使用 Vim-Go 強大之處,

:GoRum 等同 go rum

首先,在. go rum 可以透過以下指令直接執行預覽

只執行目前編輯的檔案,可輸入以下指令,相當於執行 ```go

CVT2HUGO: rum main.go```
:GoRun %

若是要執行整個專案,則可忽略. %

:GoRun

GoBuild 等同 go build*

透過以下指令可等同執行 ```go

CVT2HUGO: build```
:GoBuild

格式自動修正及檢查程式碼

在 vim-go 直接透過. :w

例如,可以貼上以下程式,儲存試試看

CVT2HUGO: 儲存檔案或者執行 ```:GoBuild```
package main

import "fmt"

var b = foo()
func main() 
{
fmt.Println("vim-go")
a
}

CVT2HUGO: ,都會自動將格式進行修正,以及同時檢查程式碼是否有誤

會出現錯誤提示

  1 main.go|8 col 1| unexpected semicolon or newline before {

當我們將錯誤的地方在修正

package main

import "fmt"

var b = foo()
func main() 
{
fmt.Println("vim-go")
a
}

接著執行 :w

CVT2HUGO: 儲存後,格式就會自動修正為正確格式
package main

import "fmt"

var b = foo()

func main() {
    fmt.Println("vim-go")
    a
}

GoTest 等同. go test*

在. Go 進行測試時,只要執行 ```go

使用 vim-go 及 vim-plug 可以透過以下指令直接運行 test

CVT2HUGO: test```就可以執行
:GoTest

CVT2HUGO: *_test.go 的檔案,或者透過 Test 開頭的函式 func Test測試名稱(*testing.T) 也可自動被偵測執行測試,運行測試及輸出測試結果

到這,對於 Go-Vim 應該有基本了解,其他更多介紹,可在參考 Go-Vim 文件