LINUX.ORG.RU
ФорумTalks

Табы в коде


0

0

Подскажите плз тулзу для замены всех пробелов (4/8) в C++ коде на табы (0x09)?

ЗЫ. срач "табы не нужны" приветствуется.

★★

табы зло. соотв. они не нужны.
по сабжу - sed | vi

isden ★★★★★
()
Ответ на: комментарий от sig_wall

Опять это форматирование... четыре пробела в первом условии, а не один.

А вообще можно и indent'у сказать, чтобы только табы юзал...

sig_wall
()

в sed не очень силен, но чтото типа

сat space.file | sed -e "s/ /\t/" > tab.file

и так до полного искоренения пробелов

smalcom
()

попытался представить табы в коде, не смог. Прочел - оказалось речь о символах табуляции...

Любой текстовый редактор пойдет.

DNA_Seq ★★☆☆☆
()

Предпочитаю пробелы. Хотя это на любителя. Кстати, питон сам заменяет табы на 4 пробела.

rumly111
()
Ответ на: комментарий от Igron

А не проще просто заменить четыре пробела символом /t?

DNA_Seq ★★☆☆☆
()
Ответ на: комментарий от sig_wall

>четыре пробела в первом условии, а не один.

ну так и вбиваешь между s/ и / четыре пробела

DNA_Seq ★★☆☆☆
()

> замены всех пробелов (4/8)

т.е. заменить 4 пробела = 1 таб и 8 пробелов = 1 таб? тогда так:
sed -e 's/^ \{8\}/\t/;s/^ \{4\}/\t/'

paxac
()
Ответ на: комментарий от k0l0b0k

> судьба такая.

тогда это может ТЕБЕ питон не нужен.

rumly111
()
Ответ на: комментарий от k0l0b0k

>авторитетно. но все-же - почему?

Всё очень просто. Разные просмотрщики и разные IDE трактуют табы по-разному, и может получиться так, что отлично структурированный код в одном IDE превратится в нечитабелную белиберду в другом. Разумеется, продвинутые IDE умеют во внутреннем представлении автоматом заменять их на n-пробелов, но а с обычными просмотрщиками что делать? Пробел же универсален, при моноширинном шрифте он и в Африке пробел. :)

jcd ★★★★★
()
Ответ на: комментарий от jcd

Пользуйтесь нормальными IDE и вам откроется :}

Deleted
()
Ответ на: комментарий от jcd

А можно пример просмотрщика который трактует табы не корректно? (здоровое любопытство)

cPunk ★★
()
Ответ на: комментарий от jcd

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

k0l0b0k ★★
() автор топика

astyle, интегрируется с mc. Гибкая настройка форматирования, автоформат выделенного, блекджек, шлюхи. Правда работает только с кошерными языками, хоть и знает кучу синтаксисов.

EmStudio
()
Ответ на: комментарий от k0l0b0k

>такие ламеры как я научились недоверять однострочникам на ЛОРе, но этот помог.

Через недельку-вторую и этот однострочник сыграет с тобой злую шутку =)

matich
()
Ответ на: комментарий от isden

речь идет о комбинациях клавиш в vim

k0l0b0k ★★
() автор топика
Ответ на: комментарий от jcd

> Табы нужно исключить вообще как класс

ога. и переход на новую строку тоже ислючить. шоб памяти не занимало :)

ferro
()
Ответ на: комментарий от ferro

>ога. и переход на новую строку тоже ислючить. шоб памяти не занимало :)

да, пробелы прожорливы. Зато эдакая "кроссплатформенность". :) и дело даже не в IDE - если открыть код в обычном текстовом редакторе, то результат тоже бывает непредсказуем.

jcd ★★★★★
()
Ответ на: комментарий от k0l0b0k

Зачем перевираете? У отступов табами есть немаленькая вероятность покорежится на машине другого разработчика. Особенно если речь идет о свободном сообществе. У пробелов такой вероятности нет. о чем тут вообще может идти разговор?

a3
()
Ответ на: комментарий от sig_wall

^ не забывайте и m-модификатор.

А то ещё где-нить в середине строк подмена произойдёт. В тех же строках.

KRoN73 ★★★★★
()
Ответ на: комментарий от a3

Пробелы - визуальная разметка. Табы - логическая.

Ты ещё в электронных документах предложи выравнивание пробелами делать и разбиение строк энтерами.

KRoN73 ★★★★★
()
Ответ на: комментарий от jcd

> и дело даже не в IDE - если открыть код в обычном текстовом редакторе, то результат тоже бывает непредсказуем.

забавно, ни разу не встречал такого случая :)

ferro
()
Ответ на: комментарий от a3

Повторю требования от людей выше - какой именно софт некорректно показывает табы? (да еще и так, что его нельзя настроить). Даже если он и существует, и у него нету настроек табуляции то в топку такой софт.
Я привык к отступам в 4 знака в коде и в 2 знака в html. Мой напарник пишет 8 и 4 знака соотв. Что делать? А бывает и такое что мы один и тот же файл можем редактировать... Тогда с пробелами полная срань получается.

k0l0b0k ★★
() автор топика
Ответ на: комментарий от jcd

>да, пробелы прожорливы. Зато эдакая "кроссплатформенность". :) и дело даже не в IDE - если открыть код в обычном текстовом редакторе, то результат тоже бывает непредсказуем.

notepad user detected )

k0l0b0k ★★
() автор топика
Ответ на: комментарий от k0l0b0k

>notepad user detected )

Тогда человек не за пробелы ратовать должен, а за \r\n :)

KRoN73 ★★★★★
()
Ответ на: комментарий от k0l0b0k

> Я привык к отступам в 4 знака в коде и в 2 знака в html. Мой напарник пишет 8 и 4 знака соотв. Что делать?

Да какая разница к чему вы привыкли? В любом языке/платформе есть общепринятые правила форматирования кода: в java, пистоне -- 4 пробела, в линукс кернел -- 8, все пользуются, все довольны. А если каждый будет я так хочу, а я эдак, а я хочу при этом дрочить вприсядку -- то получится ..ита, как кое где говорят. Пользуйтесь общепринятыми правилами и все будет хорошо.

a3
()
Ответ на: комментарий от a3

Да вот такая. Мониторы не у всех одинакового размера. Шрифты тем более. Если _проект_ (не язык) имеет конкретные требования, то им конечно же надо следовать. Но нередко требуется самому задать правила поведения в проекте, и я не вижу никакой необходимости в пробелах в качестве табуляции.

Кстати, в линукс-ядре как раз используют табы (0x09). И каждый видит код так как ему нравится (и ничего не косячит, заметьте). Торвальдс за нас!

k0l0b0k ★★
() автор топика
Ответ на: комментарий от k0l0b0k

> Мониторы не у всех одинакового размера.

80 символов помещаются на любом мониторе.

> Шрифты тем более.

Они здесь вообще не причем.

> Но нередко требуется самому задать правила поведения в проекте, и я не вижу никакой необходимости

Выдумывать свои уникальные правила, вместо общепринятых.

> Кстати, в линукс-ядре как раз используют табы (0x09). И каждый видит код так как ему нравится (и ничего не косячит, заметьте). Торвальдс за нас!

В своем ядре пусть Линупс извращается как хочет, это сути не меняет.

a3
()
Ответ на: комментарий от a3

>Пользуйтесь общепринятыми правилами и все будет хорошо.

Ну и сколько пробелов или табов принято в Java? А в Forth?

>пистоне -- 4 пробела, в линукс кернел -- 8

Наглое 4.2

В Linux kernel отступы табами :)

http://s48.radikal.ru/i119/0904/40/ecd78716460f.png

KRoN73 ★★★★★
()
Ответ на: комментарий от a3

>80 символов помещаются на любом мониторе.

Но не при любом шрифте.

>В своем ядре пусть Линупс извращается как хочет, это сути не меняет.

Это называется слив. Когда то мы приводим что-то в качестве примера, то вдруг от своего же примера отказываемся, когда он не вписывается в твою теорию.

KRoN73 ★★★★★
()
Ответ на: комментарий от a3

>80 символов помещаются на любом мониторе.

что-то типа 640кб хватит всем. Мне мало 80 символов.

>Они здесь вообще не причем.


от них зависит длина строки

>Выдумывать свои уникальные правила, вместо общепринятых.


общепринятых? хехе, уважаемый, если бы существовали действительно общепринятые правила, то нам бы не о чем было спорить.

>В своем ядре пусть Линупс извращается как хочет, это сути не меняет.


вот. и я уверен что это высказывание справедливо для 95% OSS проектов - каждый извращается как хочет, и каждый проект имеет свой coding style, в котором вопрос табов освещен только в разрезе ЧСВ автора.

Пока что для меня очевидно одно - с табами каждый разработчик может видеть код с приятными для его глаз отступами (при этом не теряя логику самих отступов). Какие преимущества у пробелов? (Мифические просмотрщики которые неправильно трактуют табы уже вспоминали).

k0l0b0k ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.