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
+ Q
thay vào đó - xem stackoverflow.com/questions/6951672/iêu
inoremap <S-Tab> <C-V><Tab>
- Bạn có thể đặt nó trong ~/.vimrc
tệ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 et
và set noet
để chuyển đổi tab
và space
khi cần.
Từ các tài liệu trên expandtab
:
Để chèn một tab thực khi
expandtab
bậ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>
:retab
paste
paste
Vì vậy, nếu bạn có một ánh xạ để chuyển đổi paste
tù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.