[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: indent@emacs



Artem Chuprina <ran@ran.pp.ru> writes:

>  AK> - емакс ошибся в структуре сложной программы. Все, начиная с ошибочно
>  AK>   понятой строки будет им отформатировано неправильно, со сдвигом. У
>  AK>   вима тоже такое бывает, но там я могу руками поправить
>  AK>   форматирование ошибочной строки, и дальше он будет плясать от этой
>  AK>   строки, а емакс хочет форматировать от начала буфера и ручное
>  AK>   перерасположение любой промежуточной строки игнорирует.
> В норме ровно наоборот.  Возможно, от языка зависит.

Ну, скажем так -- пытается заставить игнорировать меня. Я могу начать
(с помощью кучки C-<tab> и пробелов) новый оператор перла или php с
любой позиции, но когда я в нем наберу открывающую скобку (если она
там есть) или просто точку с запятой, которая там есть практически
всегда, уже набранный с нужной мне позиции оператор переедет туда, где
его хочет видеть емакс. А вот если я после этого еще раз, матерясь,
сдвину его туда, куда хочу я, следующую строку он действительно начнет
считать от этой.

>  AK>   каждую из не-php-ных строчек, конечно, можно оттьюнить пробелами
>  AK>   вручную, но это ж _каждую_, причем от позиции последнего ?>, а не от
>  AK>   позиции предыдущей строки.
> Сдается мне, что так и должно быть.  Если ты считаешь иначе - читай
> либо документацию, либо исходник.  Но вообще с html проще застрелиться,
> чем правильно отформатировать.

Объективно правильно -- согласен. Но возможности сделать субъективно
правильно, насколько я понимаю, нет вообще -- так? 

Обидно. Сейчас я вспоминаю, что году в 2000-2001 я ушел с емакса на
вим именно по этой причине. Хорошо это, или плохо, но с пхп мне
приходится иметь дело. А иметь дело с этой хтмл-сосиской,
отформатированной по левому краю, у меня не получается.

>  AK> - просто файл хитрой структуры, для которой у емакса нет готовой
>  AK>   моды. Ступенчатое форматирование, где я сам руками в нужных местах
>  AK>   меняю отступ, а последующие строки его наследуют, пока я его вновь
>  AK>   не изменю, меня бы устроило, но он же этого не хочет.
> Тут, скорее всего, надо просто использовать не Fundamental mode, а text
> или какую-нибудь на его основе.  Оно настраивается.  И проверить, что у
> тебя делает Enter - newline или newline-and-indent.

Да, с текстовой действительно хоть что-то получается. Остался такой
вопрос. А как сдвинуть курсор на предыдущую позицию отступа? Если есть

one indented line
    next level of indentation
        one more level
        _

, и курсор стоит в позиции подчеркивания -- можно ли его сдвинуть под
`next' какой-то одной функцией?

-- 
Alex Kicelew <arkoort@gmail.com> ICQ 3887592

Reply to: