From: Sergey Matveev Date: Fri, 1 Jul 2022 09:44:49 +0000 (+0300) Subject: Форматирование Go кода в Vim X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=3a417a68fd72f8b882dfc760b7dd6fa3a3940cd4;p=stargrave-blog.git Форматирование Go кода в Vim http://www.git.stargrave.org/?p=dotfiles.git;a=commitdiff;h=68ef15d382d0b6f10c6ad30a7370db57ed8318e9 С самого начала знакомства с Go я использовал их плагин для Vim для вызова :Fmt команды форматирования кода, которую никогда не трогал, ибо работает -- не трожь. Для Си кода я использовал set equalprg опцию, и команду "command! -buffer Fmt normal mtgg=G'tz.", которая ставит метку, переходит в начало файла, вызывает equal программу, возвращается на метку. Ведь то же самое можно было бы применить и к Go коду, ведь goimports и go fmt умеют работать в качестве фильтра текста. Родной Vim плагин умеет заполнять quickfix, что мне не нужно при форматировании. Поэтому вместо тьмы строчек можно бы обойтись двумя. Но в его родном плагине увидел красивый хак с тем, чтобы не портить метки и чтобы не скакал экран при вызове :Fmt: они создают view (winsaveview()) и просто его восстанавливают в конце (winrestview()). Просто, красиво и эффективно. :Fmt команда у меня теперь одинакова и для Си и для Go, только equalprg у них отличается. ---