Tôi đang sử dụng Vim để chỉnh sửa mã Erlang. Tôi đã quen với (hầu hết các lập trình viên Erlang làm điều này) để thụt đang Erlang bởi phạm vi khung họ đang ở trong Ví dụ, C thường được thụt vào một tab chiều rộng bên trong dấu ngoặc nhọn:.Mã thụt đầu dòng theo chỉ mục cột khung trong Vim?
int main(void) {
printf("hello, world\n");
return 0;
}
Trong Erlang, đó là phổ biến để thụt lề dựa trên cột nơi khung bắt đầu:
?assertError({bad_options, [{foo, bar},
bad_option]},
lhttpc:request("http://localhost/", get, [], <<>>, 1000,
[bad_option, {foo, bar}])).
(Ví dụ ở trên được thụt lề để lấy điểm, không theo vẻ đẹp chủ quan).
Tab chiều rộng sẽ được sử dụng nếu khối được bắt đầu trên một dòng mới:
?assertError(
{bad_options, [{foo, bar}, bad_option]},
lhttpc:request(
"http://localhost/", get, [], <<>>, 1000,
[bad_option, {foo, bar}]
)
).
phần có liên quan của vimrc của tôi:
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
Có cách nào để thực hiện thụt đầu dòng này trong Vim , và nếu có, làm thế nào?
Bạn đã thử https://github.com/jimenezrick/vimerl chưa? – W55tKQbuRu28Q4xv
Tôi nhận ra rằng tôi đang sử dụng 'vimerl' và cập nhật lên phiên bản mới nhất. Nhưng không, nó vẫn thụt vào 1 (hoặc 2 đôi khi, đủ lạ) độ rộng của tab. –