Các lệnh hủy ánh xạ trong Vim


16

Vì vậy, tôi đã tìm kiếm một cách thụt lề nhiều dòng trong vim và ai đó đề nghị làm

:map <Tab> <

và tất cả những gì nó làm là chèn <ký tự bất cứ khi nào tôi nhấn tab (Làm thế nào tôi không thấy nó xảy ra). Tôi đã cố gắng làm :map <Tab> <Tab>:map <Tab> \tđể mang lại thụt lề thường xuyên, không thành công. Tôi chưa quen với vimánh xạ chính vì vậy tôi thực sự sẽ đánh giá cao sự giúp đỡ. Ngoài ra nếu ai đó có thể chỉ ra làm thế nào để thụt lề nhiều dòng vim, điều đó thật tuyệt vời.

Cảm ơn trước!



1
@AdamLiss Google đã là bạn của tôi, bạn của tôi từ rất lâu rồi.
Grigor

Câu trả lời:


25

:unmap <Tab> để lấy lại hành vi mặc định.

sử dụng :x>>để thụt x số dòng (từ vị trí của con trỏ)


: unmap <Tab> không thực hiện thủ thuật .. vì một số lý do: /
Grigor

cái này hiệu quả với tôi
doubleDown

6
@Grigor Trong câu hỏi của bạn, bạn tuyên bố rằng bạn đã sử dụng map <Tab> <. Để hoàn tác lệnh chính xác này là có thật unmap <Tab>, nhưng văn bản tiếp theo (tất cả những gì nó làm là chèn <ký tự) có nghĩa là yêu cầu ban đầu là sai . Không có cách nào bạn có thể chèn <với ánh xạ như vậy, nhưng nó sẽ đúng nếu bạn đã viết imap <Tab> <. Đây lệnh là hoàn tác sử dụng iunmap <Tab>(chú ý itrong cả hai lệnh). Để có câu trả lời chính xác, bạn phải chính xác.
ZyX

Một lưu ý trong trường hợp ai đó có cuộc đấu tranh tương tự như tôi, nếu ánh xạ ban đầu là bộ đệm cục bộ, thì việc hủy ánh xạ cũng phải là:iunmap <buffer> <Tab>
cristoper

0

Điều này đã giải quyết vấn đề để hoàn nguyên lại tab.

:imap <Tab> <C-t>
:imap <S-Tab> <C-d>

Nhấn Tabthụt mã, hoàn nguyên Shift-Tabthụt mã.


3
bạn cũng có thể sử dụng :iunmap <Tab>. Nếu <Tab>được ánh xạ bởi :imap, bạn phải sử dụng :iunmapđể hủy bỏ nó. :unmap <Tab>không hoạt động trong trường hợp này.
Hải Phong Kao
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.