#vim
#vim
Вопрос:
Мой vim всегда автоматически преобразует табуляции в пробелы всякий раз, когда я сохраняю (: w) Go
файл (*.go), а это не то, что я хочу.
Мой vim клонирован из https://github.com/freedombird9/vim_anywhere . Кроме того, я установил vim-go
с Vundle
помощью.
Я просмотрел свою .vimrc
и папку плагина на предмет возможных конфигураций, в основном конфигураций, подобных autocmd
BufWritePre
и :write
, которые могли бы изменить поведение при сохранении. Но я не нашел ничего, что указывало бы на преобразование перед сохранением. Я также не видел такой настройки в vim-go.
Комментарии:
1. Откуда вы знаете, что он выполняет автоматическую замену при сохранении ?!!! вы уверены, что когда вы нажимаете tab, он вставляет настоящие вкладки?!!! у вашего vim_anywhere
.vimrc
естьset expandtab
это означает, что он будет заменять каждую вставленную вами табуляцию пробелами. Сделайте этоset list
на go файле и проверьте, являются ли ваши табуляции настоящими символами табуляции.2. При первом открытии / создании файла вы также можете проверить
set expandtab?
и посмотреть, показывает ли vimexpandtab
или_no_expandatb
. Это базовая настройка vim для расширения табуляции на некоторое количество пробелов (количество, определенное базовойtabstop
переменной. [см.: http://vimdoc.sourceforge.net/htmldoc /… ]3. @dNitro Я пробовал это, это действительно табуляции (^ I), но после того, как я нажал: w, эти табуляции находятся в определениях структуры или инициализации преобразуются в пробелы. Вкладки в других местах вообще не затрагиваются.
4. @JFreebird vim-go выполняет автоматическое форматирование при сохранении, его отключение может помочь! попробуйте: добавьте
let g:go_fmt_autosave = 0
в свой файл.vimrc .