[О блоге] [наверх] [пред] [2022-07-01 12:44:49+03:00] [3a417a68fd72f8b882dfc760b7dd6fa3a3940cd4]
Темы: [go][tip][vim]

Форматирование 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 у них отличается.

    [оставить комментарий]