Сценарий оболочки переотступа

У меня есть большой сценарий оболочки, который использует смесь пробелов и вкладок. Я хочу повторно расположить целый файл с отступом на основе синтаксиса, как Формат Eclipse. Существует ли программа (украсьте?), который сделает это?

Мне нелегко выяснять логику со всем сбитым в кучу, например.

   if [ "$CANCELLATION" ]
   then
   while test $num -gt 0
    do
    if [ "$cjb" -gt 0 ]

Изученный, как вызвать функции в Vim, но это не работало.

Emacs - потерянный все новые строки

11
задан 11.09.2009, 15:34

1 ответ

Emacs может сделать это:

  • загрузите файл в Emacs
  • нажмите Ctrl-space наверху файла
  • переместите курсор в нижнюю часть файла
  • нажмите Alt-X и тип untabify затем возвратитесь
  • нажмите Alt-X и тип indent-region затем возвратитесь

Это избавится от вкладок и расположит все с отступом правильно.

Если Вы должны делать это чаще и не используете Emacs в качестве Вашего редактора, Вы могли бы хотеть упаковать все это в сценарий:

#!/usr/bin/emacs --script

(setq require-final-newline 'visit)

(defun indent-files (files)
  (cond (files
         (find-file (car files))
         (untabify (point-min) (point-max))
         (indent-region (point-min) (point-max))
         (save-buffer)
         (kill-buffer)
         (indent-files (cdr files)))))

(indent-files command-line-args-left)

;; EOF ;;
13
ответ дан 07.12.2019, 12:17

Теги

Похожие вопросы