Я использую vim с плагином vim-golang. Этот плагин поставляется с функцией под названием :Fmt, которая «переформатирует» исходный код с помощью gofmt, исполняемого файла командной строки.
Я хочу вызывать функцию :Fmt каждый раз, когда я сохраняю файл, чтобы он постоянно переформатировался. Я думаю, что это должно быть сделано с помощью директивы autocmd. Но у меня есть два сомнения:
Итак, вот что у меня есть до сих пор:
" I can set variables for go like this
autocmd FileType go setlocal noexpandtab shiftwidth=4 tabstop=4 softtabstop=4 nolist
" I can clean trailing spaces(conserving cursor position) on save like this
autocmd BufWritePre * kz|:%s/\s\+$//e|'z
" None of these worked:
autocmd BufWritePre,FileType go Fmt
autocmd BufWritePre,FileType go :Fmt