Форматирование многострочного оператора в vim - PullRequest
1 голос
/ 19 августа 2011

В vim длинных утверждений типа

 if ( (image == null) || (image.getFileHash() == null) || (image.getFileImage() == null) )

становится таким же отступом, когда я нажимаю на ввод перед вторым ИЛИ

if ( (image == null) || (image.getFileHash() == null)
        || (image.getFileImage() == null) ) {

есть ли способ установить vim для отступа, например

if ( (image == null) || (image.getFileHash() == null)
    || (image.getFileImage() == null) ) {

Т.е., выровняв его по столбцу после (первой предыдущей строки.

С помощью Даш-Том-Бэнг удалось решить часть проблема. Тем не менее, теперь фигурные скобки не выровнены, как ожидалось если { начинается с той же строки.

if ( (image == null) || (image.getFileHash() == null) ||
     (image.getFileImage() == null) )
{

}

if ( (image == null) || (image.getFileHash() == null) ||
     (image.getFileImage() == null) ) {

     }

1 Ответ

3 голосов
/ 19 августа 2011

Параметр, который управляет этим параметром, равен cinoptions, см. :help cinoptions-values.

Добавьте это в свой .vimrc, чтобы выровнять с наиболее локальными закрытыми скобками.(Вы можете задать дополнительный отступ в пробелах, указав другое число, включая отрицательные значения. Вы можете сделать отступ для табуляции N, используя Ns.)

set cinoptions=(0

Значение по умолчанию - 2 с, что приведет к отступу двух вкладок после открытияскобка;надеюсь, это то, что вы видите.:)

...