изменение tabstop от 4 до 2 после использования expandtab (с минимальными ручными усилиями) - PullRequest
3 голосов
/ 19 августа 2010

Некоторое время я использовал tabstop = 4 в моих исходных файлах.Теперь, когда я пишу много javascript с глубокими отступами, вкладка из 4 кажется бесполезной, поэтому я хочу преобразовать ее в 2. Проблема в том, что я тоже использую "set expandtab".Так что просто установка tabstop = 2 не поможет.

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

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

set tabstop=4
set shiftwidth=4
set expandtab

Ответы [ 2 ]

11 голосов
/ 19 августа 2010

Вы можете сделать

" 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, и оно будет перезагружено в соответствии с вашими предпочтениями. Вы можете, вероятно, создать отображение, чтобы сделать это проще, или записать макрос. Может быть и другой способ, но вышесказанное должно работать. (" это комментарий)

6 голосов
/ 19 августа 2010

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

ggVG=

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...