Câu trả lời:
Bạn có thể sử dụng <CTRL-V><Tab>trong "chế độ chèn". Trong chế độ chèn, <CTRL-V>chèn một bản sao bằng chữ của ký tự tiếp theo của bạn.
Nếu bạn cần thực hiện việc này thường xuyên, @ Dee`Kej đã đề xuất cài đặt (trong phần bình luận) Shift+ Tabđể chèn một tab thực với ánh xạ này:
:inoremap <S-Tab> <C-V><Tab>
Ngoài ra, như được lưu ý bởi @feedbackloop, trên Windows, bạn có thể cần nhấn <CTRL-Q>chứ không phải <CTRL-V>.
CTRL+ Qthay vào đó - xem stackoverflow.com/questions/6951672/iêu
inoremap <S-Tab> <C-V><Tab>- Bạn có thể đặt nó trong ~/.vimrctệp của mình .
Bạn có thể tắt tùy chọn Expandtab từ bên trong Vim như dưới đây:
:set expandtab!
hoặc là
:set noet
PS: Và đặt lại khi bạn hoàn thành việc chèn tab, với "set extendtab" hoặc "set et"
PS: Nếu bạn có tab được đặt tương đương với 4 khoảng trắng trong .vimrc (softtabstop), bạn cũng có thể muốn đặt nó thành 8 khoảng trắng để có thể chèn một tab bằng cách nhấn phím tab một lần thay vì hai lần (đặt softtabstop = 8 ).
set etvà set noetđể chuyển đổi tabvà spacekhi cần.
Từ các tài liệu trên expandtab:
Để chèn một tab thực khi
expandtabbật, sử dụng . Xem thêm và ins-extendtab . Tùy chọn này được đặt lại khi tùy chọn được đặt và khôi phục khi tùy chọn được đặt lại.CTRL-V<Tab>:retabpastepaste
Vì vậy, nếu bạn có một ánh xạ để chuyển đổi pastetùy chọn, ví dụ:
set pastetoggle=<F2>
bạn cũng có thể làm <F2>Tab<F2>.
.để lặp lại lệnh cuối cùng nếu bạn muốn chèn nhiều tab.