Как переформатировать / восстановить все исходные файлы в заданном каталоге?

cron не является инструментом для этого. Вам нужно настроить задание upstart, которое выполняется во время выключения, предпочтительно объявляя зависимость, чтобы она выполнялась перед любыми службами, которые она требует отключения. man 5 init для получения подробных сведений о том, как правильно определить задачу запуска или завершения работы; Я не могу помочь дальше этого без дополнительной информации, так как это зависит от того, что вы пытаетесь сделать, и от каких других upstart заданий это зависит от.

14
задан 27 February 2012 в 20:58

6 ответов

Вы можете использовать vim в ex и командном режиме из терминала.

Чтобы отложить один файл:

vim -c "normal gg=G" -e <file-to-indent> <<'EOF'
:wq
EOF

Чтобы рекурсивно отступать файлы, создайте следующий скрипт:

indent-with-vim.sh

vim -c "normal gg=G" -e $1 <<'EOF'
:wq
EOF

Теперь наберите:

$ chmod u+x indent-with-vim.sh
$ find . | xargs -I {} ./indent-with-vim.sh {}

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

Для XML:

Установить xmllint Добавить в .vimrc
au FileType xml setlocal equalprg=xmllint\ --format\ --recover\ -\ 2>/dev/null

Улучшить форматирование PHP:

Загрузите http://www.vim.org/scripts/download_script.php?src_id=15001 (он загрузит файл с именем php.vim)

Создайте следующие каталоги на ваш дом:

~/.vim/indent

И скопируйте php.vim в ~/.vim/indent

Если вы не удовлетворены результатом для любого типа файла, вы могут искать альтернативы в Интернете (например, htb для HTML, http://www.vim.org/scripts/download_script.php?src_id=15001 для улучшений для Ruby и т. д.). [ ! d16]

В любом случае, вы должны использовать технику .vimrc или файл отступа foo.vim для улучшения отступа.

Также вы можете изменить параметры поиска, применимые к некоторым конкретным только типы, такие как:

find . -iname "*.html" -or -iname "*.xml"
7
ответ дан 25 May 2018 в 14:54

Вы можете использовать vim в ex и командном режиме с терминала.

Чтобы отложить один файл:

vim -c "normal gg=G" -e <file-to-indent> <<'EOF'
:wq
EOF

Чтобы рекурсивно создавать отступы, создайте следующий скрипт:

indent-with-vim.sh

vim -c "normal gg=G" -e $1 <<'EOF'
:wq
EOF

Теперь введите:

$ chmod u+x indent-with-vim.sh
$ find . | xargs -I {} ./indent-with-vim.sh {}

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

Для XML:

  • Установить xmllint Добавить к вашему .vimrc
    au FileType xml setlocal equalprg=xmllint\ --format\ --recover\ -\ 2>/dev/null
    

Чтобы улучшить форматирование PHP:

Загрузите http://www.vim.org/scripts/download_script.php?src_id=15001 (он загрузит файл с именем php. vim)

Создайте следующие каталоги в своем доме:

~/.vim/indent

И скопируйте php.vim в ~/.vim/indent

Если вы не удовлетворены результатом для любого типа файла, вы можете искать альтернативы в Интернете (например, htb для HTML, https://github.com/vim-ruby/vim-ruby для улучшения для Ruby и т. д.).

В любом случае, вы должны использовать технику .vimrc или файл отступа foo.vim для улучшения отступов.

Кроме того, вы может изменить параметры поиска для применения только к некоторым конкретным типам, например:

find . -iname "*.html" -or -iname "*.xml"
7
ответ дан 31 July 2018 в 10:42

Установите пакет indent, а затем запустите программу в файлах.

2
ответ дан 25 May 2018 в 14:54
  • 1
    Это поддерживает только C, не так ли? indent.isidore-it.eu/beautify.html – Caesium 24 January 2012 в 22:11
  • 2
    Вы думаете, что fdierre ищет универсальный? – user unknown 24 January 2012 в 22:32
  • 3
    Да, я искал инструмент, который как можно более «универсальный». Я изменил вопрос, чтобы указать это. – fdierre 24 January 2012 в 23:01

Не бесплатный, а не командной строки, вероятно, слишком сложный, но IntelliJ Idea - это IDE, способная это сделать. Я не тестировал его с помощью java или ruby, но он неплохо работает с проектом django (python + javascript + HTML).

Он также имеет довольно широкий набор параметров для настройки того, что нужно переформатировать.

Если это разовая проблема, вы можете скачать пробную версию бесплатно.

Это экранный снимок параметров формата HTML. Это взято из PyCharm (ограниченная версия python, без рубиновой или java-поддержки здесь), поскольку это то, что я использую, но IntelliJ должен быть одним и тем же, но поддерживать гораздо больше языков.

0
ответ дан 25 May 2018 в 14:54

Формат Google Java

Исправлен исходный код Java Java:

https://github.com/google/google-java-format

wget https://github.com/google/google-java-format/releases/download/google-java-format-1.5/google-java-format-1.5-all-deps.jar
java -jar google-java-format-1.5-all-deps.jar /path/to/MyClass.java

Советы:

Чтобы сделать это в файлах multipe, используйте параметр --replace вместе с xargs Используйте sponge, чтобы вы могли напрямую перезаписать входной файл. Есть Eclipse и плагин IntelliJ для выполнения такого же переформатирования
0
ответ дан 25 May 2018 в 14:54

Формат Google Java

Исправлен исходный код Java Java:

https://github.com/google/google-java-format

wget https://github.com/google/google-java-format/releases/download/google-java-format-1.5/google-java-format-1.5-all-deps.jar
java -jar google-java-format-1.5-all-deps.jar /path/to/MyClass.java

Советы:

  • Чтобы сделать это в файлах multipe, используйте параметр --replace вместе с xargs
  • Используйте sponge, чтобы вы могли напрямую перезаписать входной файл
  • . Существует плагин Eclipse и IntelliJ для выполнения того же переформатирования
0
ответ дан 31 July 2018 в 11:46

Другие вопросы по тегам:

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