Решено: Кто делает такое форматирование ?

и другие vi-подобные редакторы

Модератор: /dev/random

Ответить
vel21ripn
Сообщения: 14

Решено: Кто делает такое форматирование ?

Сообщение vel21ripn »

Редактируем C/PHP-шный код. Есть конструкция типа
if(xxxxxxx) {
xxxx;_

}

Курсор стоит в месте '_'.
При нажатии на Enter строка xxxx; сдвигается вправо ( до следующей табуляции?)

Какая опция это далает ? И как ее отключить, не сломав autoindent.
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5289
ОС: Gentoo

Re: Решено: Кто делает такое форматирование ?

Сообщение /dev/random »

vel21ripn писал(а):
26.05.2010 00:25
Редактируем C/PHP-шный код. Есть конструкция типа
if(xxxxxxx) {
xxxx;_

}

Курсор стоит в месте '_'.
При нажатии на Enter строка xxxx; сдвигается вправо ( до следующей табуляции?)

Какая опция это далает ? И как ее отключить, не сломав autoindent.

В каком месте после этого оказывается курсор? На новой строке, но в соответствии со старым или новым отступом предыдущей строки? Если новым, то, вероятно, указанная строка просто сдвинута меньше, чем установлено в виме, и он "исправляет" её отступ. Кстати, на C я такого не наблюдал. Думаю, это не C/PHP, а только PHP.
Спасибо сказали:
vel21ripn
Сообщения: 14

Re: Решено: Кто делает такое форматирование ?

Сообщение vel21ripn »

/dev/random писал(а):
26.05.2010 00:32
vel21ripn писал(а):
26.05.2010 00:25
Редактируем C/PHP-шный код. Есть конструкция типа
if(xxxxxxx) {
xxxx;_

}

Курсор стоит в месте '_'.
При нажатии на Enter строка xxxx; сдвигается вправо ( до следующей табуляции?)

Какая опция это далает ? И как ее отключить, не сломав autoindent.

В каком месте после этого оказывается курсор? На новой строке, но в соответствии со старым или новым отступом предыдущей строки? Если новым, то, вероятно, указанная строка просто сдвинута меньше, чем установлено в виме, и он "исправляет" её отступ. Кстати, на C я такого не наблюдал. Думаю, это не C/PHP, а только PHP.

на новой строке с новым отступом.

На С такое со switch() { case } - case сдвигает
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU
Контактная информация:

Re: Решено: Кто делает такое форматирование ?

Сообщение sash-kan »

http://vimdoc.sourceforge.net/htmldoc/indent.html
QUOTE писал(а):These four options control C program indenting:
'cindent' Enables Vim to perform C program indenting automatically.
'cinkeys' Specifies which keys trigger reindenting in insert mode.
'cinoptions' Sets your preferred indent style.
'cinwords' Defines keywords that start an extra indent in the next line.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
vel21ripn
Сообщения: 14

Re: Решено: Кто делает такое форматирование ?

Сообщение vel21ripn »

sash-kan писал(а):
26.05.2010 18:03
http://vimdoc.sourceforge.net/htmldoc/indent.html
These four options control C program indenting:
'cindent' Enables Vim to perform C program indenting automatically.
'cinkeys' Specifies which keys trigger reindenting in insert mode.
'cinoptions' Sets your preferred indent style.
'cinwords' Defines keywords that start an extra indent in the next line.


все зло было в set indentexpr=PhpGetIndent()

счастье наступило после
set indentexpr=""
set si
set autoindent shiftwidth=4
Спасибо сказали:
Ответить