標準愚痴出力

個人的なIT作業ログです。もしかしたら一般的に参考になることが書いているかもしれません(弱気

Go言語のセットアップの覚書 for Windows & nyagos

今更だけど、PCがクラッシュしたら忘れるかもしれないので

アーカイブの展開

MSIインストーラーが意外と遅いので、アーカイブは *.zip ファイルを使う。

% cd /
% ren go go.bak
% unzip ~/go1.12.7.windows-amd64.zip

vim の設定

*.go を開いた時、デフォルトで UTF8、インデントはタブ1文字単位とする

au! BufRead,BufNewFile *.go set ts=4 sw=4 noet ai notextmode fenc=utf-8
if $GOROOT != ''
  set rtp+=$GOROOT/misc/vim
endif

.nyagos の設定

C:\go\bin を %PATH% に追加する

  • 既に追加済みの時は二重に追加しないようにする
  • フォルダーが存在しない場合も追加しない
  • セミコロン; が連続で2つ入ってしまったら、1つにする
  • 前は _nyagos の方に書いていたが、設定ファイルを増やした結果ユーザを混乱させただけなので、もう .nyagos 一本で行こうかなと
local function addpath(s)
    if  nyagos.stat(s) and
        not string.find(string.upper(nyagos.env.path),string.upper(s))
    then
        nyagos.env.path = string.gsub(nyagos.env.path..";"..s,";;",";")
    end
end
addpath "C:\\go\\bin"

go コマンドのサブコマンドを補完できるようにする。最近は、こんなにお手軽になりました。

nyagos.complete_for.go = function(args)
    if #args == 2 then
        return {
            "build", "clean", "doc", "env", "fix", "fmt", "generate",
            "get", "install", "list", "mod", "run", "test", "tool", "version",
            "vet"
        }
    end
    return nil
end

32bit ビルド用の go エイリアスもあった

nyagos.alias.go32=function(args)
    local save=nyagos.env.goarch
    nyagos.env.goarch = "386"
    nyagos.exec{"go",(table.unpack or unpack)(args)}
    nyagos.env.goarch = save
end

GOPATH とか GOROOT とか

両方ともデフォルト( %USERPROFILE%\go , c:\go ) をそのまま使うので、敢えて設定しない方向で

たぶん、以上