Код отступа по индексу столбца кронштейна в VIM?

Я использую VIM для редактирования Код Erlang. Я привык (большинство программистов ERLANG делают это) для отступов кода ERLANG с помощью кронштейна. Например, C часто придерживается одной шириной вкладки внутри вьющихся кронштейнов:

int main(void) {
    printf("hello, world\n");
    return 0;
}

в Erlang, общий для отступа на основе На колонне, где начался кронштейн:

?assertError({bad_options, [{foo, bar},
                            bad_option]},
             lhttpc:request("http://localhost/", get, [], <<>>, 1000,
                            [bad_option, {foo, bar}])).

(пример выше, отступают, чтобы получить точку, а не в соответствии с субъективной красотой).

Ширина вкладки будет использоваться, если блок запускается на новой строке:

?assertError(
    {bad_options, [{foo, bar}, bad_option]},
    lhttpc:request(
         "http://localhost/", get, [], <<>>, 1000,
         [bad_option, {foo, bar}]
    )
).

соответствующие части моего .VIMRC:

set expandtab " Spaces for tabs "
set tabstop=4 " Tab width 4 "
set shiftwidth=4
set smarttab
set autoindent

" Enable filetype plugin "
filetype plugin on
filetype indent on

Есть ли способ выполнить этот отступ в VIM, и если так, как?

6
задан Adam Lindberg 7 September 2011 в 09:04
поделиться