У меня есть большой сценарий оболочки, который использует смесь пробелов и табуляции. Я хочу переопределить весь файл на основе синтаксиса, например, в формате Eclipse. Есть ли программа (украсить?), Которая будет делать это?
Мне трудно разобраться в логике, когда все собрано вместе, например
if [ "$CANCELLATION" ]
then
while test $num -gt 0
do
if [ "$cjb" -gt 0 ]
Узнал, как вызывать функции в Vim, но это не сработало.
Emacs - потерял все новые строки
linux
indentation
jsymolon
источник
источник
M->
это обычная привязка дляend-of-buffer
. Потому что отрывать руки от клавиатуры - зло.C-x h
, который запускаетсяmark-whole-buffer
.untabify
как все становится невыбранным, и (2) это использовалось не только для того, чтобы быть в меню? Это заслуживает того, чтобы быть!В Vi / Vim после того, как вы установили правильный синтаксис файла (
:set syntax=sh
), вы можете нажать: gg=G(или 1G=G), чтобы исправить отступы всего файла.Вот команда для форматирования всего файла на месте:
Примечание. Сделайте резервную копию перед запуском вышеуказанной команды.
Чтобы проверить форматирование первого, редактировать файл в Vim и выполните команду:
:norm gg=G
.См. Также: Повторное отступление кода с плохим отступом в Vi SE.
источник
if
иfi
ключевые слова. Возможно, какой-нибудь плагин требуется?filetype=sh
(илиft
).Похоже, что shfmt может помочь вам. Он форматирует код оболочки / bash, который включает отступы.
источник
shfmt -i 2 -ci ~/mariadb-qa/pquery-run.sh
Возможно, вам нужен Super Shell Indent . Сохраните его в ~ / .vim / indent и, когда вы будете следующим в vim, выполните
:source ~/.vim/indent/sh.vim
Вы также, вероятно, хотите установить интеллектуальный отступ на основе файлов в вашем .vimrc
Если вы не возражаете, vim возится с вашим форматированием, добавьте эту строку и в vimrc.
Во всяком случае, вот то, что вы так долго ждали. Когда вы в следующий раз будете редактировать сценарий оболочки в vim, предполагая, что вы включили интеллектуальный отступ и установили супер-идентификатор оболочки, просто нажмите следующие клавиши, чтобы заново создать отступ для вашего сценария:
gg=G
источник