user@ubuntu~$ echo -e " 1\n 2" | unexpand -t4 > 1.txtПолучим в 1.txt:
<-->1 <--> 2
user@ubuntu~$ expand -t4 1.txt > 2.txtПолучим в 2.txt:
1 2Получаем некий аналог dos2unix и unix2dos, только для табов и пробелов.
Теперь о применении такого на практике, до недавнего времени я тоже не знал разницу между indentation и alignment. Приведу примеры о чем идет речь.
Это — indentation:
for (int i = 0; i < 10; i++) { if (a[i] == 0) do_something(i); }А вот это — alignment:
int some_variable = 0; int v1 = 0;Соль в том, что identation не поплывет в разных редакторах, где размер таба разный, а вот alignment с табами поплывет 100%. Следовательно, если хотим использовать табы, используем только в indentation, но alignment делаем исключительно пробелами. В таком случае использовать expand и unexpand нужно с особой осторожностью, чтобы не задеть aligement.
1. Пора завязывать использовать пробелы вместо табуляции в коде
2. Примиряем любителей пробелов и табов
Комментариев нет:
Отправить комментарий