Изменение Tabstop с 4 на 2 после использования ExpandTab (с минимальными ручными усилиями)

StackOverflow https://stackoverflow.com/questions/3518549

  •  29-09-2019
  •  | 
  •  

Вопрос

В течение некоторого времени я использовал Tabstop = 4 в своих исходных файлах. Теперь, когда я пишу много JavaScript с глубокими вмешательствами, Tabstop 4 кажется расточительным, поэтому я хочу преобразовать его в 2. Проблема в том, что я использую «Set ExpandTab». Так что просто настройка tabstop = 2, не поможет.

Любые предложения о том, как я могу быстро преобразовать все свои файлы в Tabstop 2?

Мои текущие соответствующие настройки .vimrc

set tabstop=4
set shiftwidth=4
set expandtab
Это было полезно?

Решение

Ты можешь сделать

" convert spaces to tabs first
set noexpandtab
set tabstop=4
set shiftwidth=4
retab!
" now you have tabs instead of spaces, so insert spaces according to
" your new preference
set tabstop=2
set shiftwidth=2
set expandtab
retab!

В окне VIM, и оно будет повторно считать ваши предпочтения. Вы, вероятно, можете создать отображение, чтобы упростить это или записать макрос. Там может быть другой способ, но вышеупомянутое должно работать. (" это комментарий)

Другие советы

Вы можете изменить свои настройки, выбирать все и нажать = Ключ, чтобы отступить:

ggVG=

Я также рекомендую использовать ftplugin, чтобы указать настройки на тип файла.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top