Как преобразовать пробелы в табуляции в вашей программе
По code guidelines PHPbb в коде нужно использовать табуляции, вместо пробелов. К сожалению, я об этом поздновато узнал, теперь надо всё, что я написал привести к правильному виду.
Оказывается, в Linux есть специальная утилита для этого — unexpand (находится в пакете coreutils). Кстати, есть и противоположная по действию утилита — expand.
Комментарии 19
find -name '*.php' -exec sed -i 's/^( ){24}/\t\t\t/;s/^( ){16}/\t\t/;s/^( ){8}/\t/;' '{}';
Кстати, приятно — expand и unexpand есть в MacOS, ничего ставить не надо
а другие, другие программисты справятся?
Т. е. мне предлагается вручную найти те файлы, которые я изменял, их открыть, вызвать эту функцию каждого первого текстового редактора и сохранить? Давайте я уж тремя командами командной строки ихкак-нибудь сразу все обработаю?
Да есть уже такая утилита, вот на: unexpand, зачем писать ещёчто-то?
Комментарий для Евгения Степанищева:
дикость какая. всю жизнь считал что табуляция = 4 пробела.
Комментарий для hshhhhh.name:
Ну вот оно надо так извращаться? Если можно одной командой сделать. Тем более, что тут всего лишь третья вложенность.
Табуляция обычно равна 4 или 8 пробелам. Например, в DOS это 8 символов.
Комментарий для Евгения Степанищева:
На повершелле так же легко можно сделать?
Комментарий для hshhhhh.name:
Ну, можно сделать замену пробелов в начале строки для любого уровня, например, так:
cat file | %{ If ($_ -match '^(?: {4})+') { $_ -replace $matches[0], («`t» * ($matches[0].length / 4)) } Else {$_} }
В данном проекте я пользовался FARом
У меня стоит настройка «преобразовывать табуляции в пробелы».
Комментарий для Евгения Степанищева:
Но зачем?!
Я, в последнее время, пишу чаще всего на Python, а там используются 4 пробела в качестве отступа: http://www.python.org/dev/peps/pep-0008/
Но есть люди, которые не соблюдают style guide, лучше автоматически исправлять исходники.
Удивлён предпочтением к пробелам в Python. Рад, что там