Автоматический отступ кода с нарушенным отступом в vim - PullRequest
4 голосов
/ 05 января 2011

Я работаю с CMS, где отступ кода - беспорядок. Можно ли исправить это автоматически с помощью vim, выполнив какую-нибудь команду?

Ответы [ 2 ]

9 голосов
/ 05 января 2011

Обычно для отступа можно использовать операцию =.

См. :help =

(Вам также понадобится filetype indent on в вашем vimrc, чтобы включить различные правила отступов для каждого типа файла, который вы будете редактировать)

gg=G переопределяет весь файл. (gg переместится в начало файла, = переопределяет каждую строку в движении, G переходит в конец файла)

По умолчанию Vim хорошо поддерживает C и C-подобный язык. Смотрите :help C-indenting для вариантов. Возможно, вам придется изменить эти параметры, прежде чем переформатировать файлы. Вам нужно определить set cindent в вашем .vimrc, если вы хотите использовать «умные» отступы, которые контролируются cinoptions.

См. :help indent-expression для других языков.

Кроме того, вам, вероятно, придется использовать опции shiftwidth, expandtab и tabstop, если вы хотите использовать пробелы или табуляцию для отступа.

Например, если вы хотите заменить все символы табуляции на 4 пробела, вам придется использовать:

set shiftwidth=4             " used by >>, << and tab.  
set tabstop=4                " number of space characters used when displaying TAB  
set expandtab                " replace TAB by spaces  
1 голос
/ 05 января 2011

Я обычно делаю это с ggVG=. gg = перейти к началу файла, V = пометить строки, G = перейти к концу файла, = = отступ.

Может быть, это не наименьшее количество нажатий клавиш, но я думаю, что это легко запомнить.

...