前言:
環境 debian 9.5 vim 8.0 vim-go master版本, 因爲本地寫了一些go的工具, 所以就把這些統一放在了一個文件夾, 有時候想單獨運行當前文件的時候, 根據vim-go的README, 配置瞭如下vimrc
let g:go_highlight_functions = 1
let g:go_highlight_methods = 1
let g:go_highlight_fields = 1
let g:go_highlight_types = 1
let g:go_highlight_operators = 1
let g:go_highlight_build_constraints = 1
autocmd FileType go nmap <leader>r <Plug>(go-run) %<CR>
autocmd FileType go nmap <leader>b <Plug>(go-build) %<CR>
autocmd FileType go nmap <leader>t <Plug>(go-test) %<CR>
我的<leader> 是 逗號 , 所以觸發的時候按下 ,r 就可以直接運行當前文件. 這個方法在文件夾只有一個, 或者是單一project的時候是沒有問題的. 但是如果每個go文件都是獨立的, 那就會重複import包, 最後報錯如下
]
所以需要修改配置.
改go-run 爲如下配置後解決
autocmd FileType go nmap <Leader>r :!go run %<CR>