Я пытаюсь использовать Vim все больше и больше, когда могу. Одна из моих самых больших связей между Vim и IDE, такой как Aptana, - это возможность автоматического отступа.
Есть ли способы автоматического форматирования кода (HTML, CSS, PHP), чтобы он был правильно отступ?
Если так, как вы устанавливаете это в Vim? Я не очень разбираюсь в плагинах. Я попытался просмотреть эту ветку, и это меня смутило больше: Как изменить поведение авто-отступа vim?
Ответы:
Чтобы сделать отступ для всего файла автоматически:
Разъяснение:
gg
- перейти к началу файлаG
- перейти в конец файла=
- отступисточник
gg=G
из оболочки без открытия файла?Я не знаю об автоматическом форматировании существующего кода, но если вы пишете код и вам нужен автоматический отступ:
:set autoindent
(или:set ai
) включит авто-отступ:set tabwidth=4
(или:set tw=4
) будет контролировать, сколько пробелов вкладка должна отступать код>>
сделает отступ для текущей строки. Если вы поставите перед ним префикс, скажем,4>>
тогда он будет иметь отступ в 4 строки, начиная с текущей строки.<<
команда отменит отступ строкиЯ надеюсь, что это даст вам хорошее начало.
источник
={motion}
в обычном режиме - например=G
, сделайте отступ для всего кода от текущей строки до конца файла.==
будет отступать текущую строку.:filetype indent on
)Авто отступ
*.sh
Просто добавьте следующие строки в
~/.vimrc
источник
~./vimrc
применимо только для редактора vim.Этот плагин облегчает форматирование вашего кода. Он интегрирует внешние средства форматирования и имеет отступ от функциональности отступа vim.
https://github.com/Chiel92/vim-autoformat
Также обратите внимание на разницу между форматированием и отступом. Отступы исправляют только пробелы перед каждой строкой, в то время как форматирование также касается любой другой вещи, такой как пробелы вокруг операторов и т. Д.
источник
Создайте / отредактируйте
~/.vimrc
файл и добавьте следующую строку:источник
:set autoindent
только для текущего файла. Добавление его в.vimrc
файл позволяет автоматически делать отступы.В Bash я делаю это:
это исключает комментарии и переопределяет скрипт "bash way". это не будет работать, если скрипт содержит HEREDOCS, но если вы сделаете это:
он будет работать с любым скриптом, но весь скрипт будет иметь отступ в 4 пробела. не стесняйтесь изменять, но укажите свое имя в своем сценарии и опубликуйте его! : D
источник
sed
если пожелаете:cat script_to_be_reindented.sh | sed 's#^# #g'
(э-э, ну да, SO markdown заменяет пробелы табуляцией, но вы получаете точку)Автоформат / отступ vim работает довольно хорошо. Во-первых, поместите эту строку в ваш
~/.vimrc
:Затем откройте файл в vim и введите
gg=G
(
gg
Перемещает курсор на первую строку.=
Запускает команду «Отступ».G
Указывает команде «Отступ» выполнить отсюда до последней строки.)Если автоформат выглядит действительно плохо, как будто каждая строка просто оставлена с отступом, тогда запустите
:scriptnames
и проверьте, есть ли.../indent/html.vim
(или какой язык вы используете) в списке. Если нет, то убедитесь, что вы~/.vimrc
правы. Или, если вы запустили:filetype plugin indent on
из командной строки vim, вам нужно будет заново открыть файл:e
источник