Làm thế nào để thụt lề như dấu cách thay vì tab?


21

Tôi đang mã hóa một số mẫu html trong các tệp JADE. Tôi muốn tự động mã thụt lề với dấu cách thay vì tab. Tôi đã thử shiftwidth=2, tabstop=2nhưng dù thế nào, nó vẫn thụt lề bằng cách sử dụng các tab thay vì phím cách, khiến cho trình biên dịch JADE bị lỗi.

Làm cách nào tôi có thể tự động thụt các phần lớn mã bằng cách sử dụng khoảng trắng thay vì tab?

Câu trả lời:


25

Bạn đang tìm kiếm các expandtabtùy chọn. Khi tùy chọn này được đặt, không gian luôn được sử dụng. Bạn có thể đặt set expandtabvimrc của mình để luôn đặt tùy chọn này khi vim khởi động. Nếu bạn muốn chỉ bật tùy chọn này cho các ngôn ngữ cụ thể, hãy xem câu hỏi này . Để được giúp đỡ về tùy chọn này, xem :help 'expandtab'.


1
cảm ơn :set expandtabcho phép tôi sử dụng khoảng trắng thay vì các tab để thụt lề
John

Có đúng tslà vô dụng khi etđược thiết lập?
iBug

@iBug Không phải nếu bạn đang tự tạo tệp, nhưng có thể hữu ích khi đặt nó nếu bạn đang chỉnh sửa các tệp hiện có có các tab trong đó. Xem vim.fandom.com/wiki/Indenting_source_code để biết thêm về thụt lề, tôi thấy nó rõ ràng hơn nhiều so với các tệp trợ giúp của vim.
EvergreenTree

22

Bạn muốn mở rộng.

Nhưng thường có một vài tùy chọn bạn muốn đặt cùng một lúc.

Nếu bạn thêm phần sau vào tệp ~ / .vimrc của bạn

" tabstop:          Width of tab character
" softtabstop:      Fine tunes the amount of white space to be added
" shiftwidth        Determines the amount of whitespace to add in normal mode
" expandtab:        When on uses space instead of tabs
set tabstop     =4
set softtabstop =4
set shiftwidth  =4
set expandtab

Ngoài ra, bạn có thể thực hiện các thao tác này từ chế độ bình thường bằng cách tiếp tục với ':'

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.