>[оверквотинг удален]
> В settings_default/lexer Python.json это записано
> {
> "tab_spaces": true,
> "tab_size": 4,
> "indent_size": 0,
> "indent_auto_rule": ".+:\\s*$"
> }
> Потом вы сказали что после "func(a,b,c<enter>" оно не встает под скобку. Так
> это же опция!
> "indent_kind":4. Теперь встает. Проверьте?Я смотрел эти опции, но это не совсем то. То есть, может я их не понял до конца, но я не нашёл возможности заставить Tab (или Ctrl-l) работать на выставление строки в нужное положение. Вот чтобы когда я нажал Tab, текстовый редактор удалил бы _все_ пробелы в начале строки, и написал бы их заново как надо.
Есть программы, которые форматируют сорцы под заданный стиль, вот emacs делает примерно это, пускай и в ограниченной форме, пускай это касается только выравнивания строк. Ну, например, если я написал
f(a, b,
c, d);
c оказывается выровненным на тот же столбец, что и a. То есть, не все lang-mode делают это именно так, некоторые просто увеличивают отступ для c на tab или на half-tab, из-за чего не получается ровно и красиво. Но это проявляется и в других случаях. Я вот сейчас набрал такое в emacs:
fn foo<T>(t: T)
where
T: PartialOrd+Eq
{
}
Посмотрел как emacs делает то, что делает. Enter после первой строчки добавил 1 tab идентации, я написал where и нажал Enter, where прыгнул туда, где ты его можешь видеть сейчас, а курсор встал в позицию T в третьей строки. Когда я нажал Enter после Eq, набрал { и ещё раз Enter, вся эта история повторилась.
Ну, то есть, я не знаю, может я чего не понял, но мне приходилось вручную править количество пробелов в начале строки. Я не согласен так жить. То есть в emacs'е, когда я не согласен с количеством пробелов, которые вставляет emacs, я в конечном итоге смиряюсь и оставляю это на его усмотрение. Но emacs в целом делает всё правильно, хоть может и спорно иногда. Я пытался справится с Ada, и забил именно потому, что pascal-mode делал вещи, с которыми я не мог смириться. (Я тогда был гораздо более упёртым в отношении того стиля программирования, под который я прогибаюсь. Молодой и глупый был, да. Но я к тому, что я и сейчас не готов жить в ситуации, когда я должен вручную следить за идентацией. Я готов вручную следить за тем, втыкаю ли я пробел между именем функцией и открывающей круглой скобкой, хотя вот я сейчас сказал об этом, и думаю что было бы круто сделать так, чтобы не надо было следить за этим, чтобы это определялось настройками проекта.)