Re: indent@emacs
Alex Kicelew -> debian-russian@lists.debian.org @ 04 Dec 2005 22:47:51 +0300:
>> AK> - емакс ошибся в структуре сложной программы. Все, начиная с ошибочно
>> AK> понятой строки будет им отформатировано неправильно, со сдвигом. У
>> AK> вима тоже такое бывает, но там я могу руками поправить
>> AK> форматирование ошибочной строки, и дальше он будет плясать от этой
>> AK> строки, а емакс хочет форматировать от начала буфера и ручное
>> AK> перерасположение любой промежуточной строки игнорирует.
>> В норме ровно наоборот. Возможно, от языка зависит.
AK> Ну, скажем так -- пытается заставить игнорировать меня. Я могу начать
AK> (с помощью кучки C-<tab> и пробелов) новый оператор перла или php с
AK> любой позиции, но когда я в нем наберу открывающую скобку (если она
AK> там есть) или просто точку с запятой, которая там есть практически
AK> всегда, уже набранный с нужной мне позиции оператор переедет туда, где
AK> его хочет видеть емакс. А вот если я после этого еще раз, матерясь,
AK> сдвину его туда, куда хочу я, следующую строку он действительно начнет
AK> считать от этой.
Это то, что называется electric-. В принципе в описаниях режимов обычно
рассказано, как отключать (равно поодиночке и всем скопом). Проблема,
понятно, в том, что тогда он не будет электрическим вообще, так что по
завершении блока возвращать отступ на место тоже придется вручную.
С перлом получше работает cperl-mode. Особенно - свежий... С php не
работаю, не могу сказать.
>> AK> каждую из не-php-ных строчек, конечно, можно оттьюнить пробелами
>> AK> вручную, но это ж _каждую_, причем от позиции последнего ?>, а не от
>> AK> позиции предыдущей строки.
>> Сдается мне, что так и должно быть. Если ты считаешь иначе - читай
>> либо документацию, либо исходник. Но вообще с html проще застрелиться,
>> чем правильно отформатировать.
AK> Объективно правильно -- согласен. Но возможности сделать субъективно
AK> правильно, насколько я понимаю, нет вообще -- так?
Смотреть надо. Может, и можно.
>> AK> - просто файл хитрой структуры, для которой у емакса нет готовой
>> AK> моды. Ступенчатое форматирование, где я сам руками в нужных местах
>> AK> меняю отступ, а последующие строки его наследуют, пока я его вновь
>> AK> не изменю, меня бы устроило, но он же этого не хочет.
>> Тут, скорее всего, надо просто использовать не Fundamental mode, а text
>> или какую-нибудь на его основе. Оно настраивается. И проверить, что у
>> тебя делает Enter - newline или newline-and-indent.
AK> Да, с текстовой действительно хоть что-то получается. Остался такой
AK> вопрос. А как сдвинуть курсор на предыдущую позицию отступа? Если есть
AK> one indented line
AK> next level of indentation
AK> one more level
AK> _
AK> , и курсор стоит в позиции подчеркивания -- можно ли его сдвинуть под
AK> `next' какой-то одной функцией?
Не находится. И у меня есть ощущение, что эта информация у него нигде
не хранится. Так что, если ты знаешь, какого размера у тебя отступ, то
можно, а если он разный бывает, то ой.
--
Artem Chuprina
RFC2822: <ran{}ran.pp.ru> Jabber: ran@jabber.ran.pp.ru
Дуля со смещенным центром тяжести
Reply to: