2009-11-19 26 views
6

Trong soạn thảo văn bản thông thường, bạn chọn khối văn bản và sau đó nhấn Tab để entab và phím Shift +Tab để detab.Entab/detab trong VIM

Làm cách nào để lôi kéo hoặc hủy khối văn bản đã chọn trong VIM?

Trả lời

10

Nếu bạn chọn văn bản và nhấn ">" nó sẽ thụt lề và "<" sẽ không thụt lề.

Việc chèn tab hoặc dấu cách có phụ thuộc vào cài đặt "expandtab" của bạn hay không. Bạn có thể chỉnh sửa số lượng không gian/tabstop với cài đặt "shiftwidth" và "tabstop".

+3

+1 Lưu ý: Shift V (Chế độ trực quan) để chọn khối văn bản. Nếu không, < and > sẽ hoạt động trên dòng hiện tại. –

+3

Bạn cũng có thể chọn một khối văn bản và nhấn = để lấy vim để tự động thụt lề. – MichaelM

+0

@MichaelM: Cảm ơn lời khuyên đó! Đăng nó như là một câu trả lời xin vui lòng, thay vì một bình luận. Tôi sẽ upvote bạn –

4

Ngoài câu trả lời của Andy White. Tôi cũng sẽ thêm đoạn mã sau vào vimrc:

vnoremap > >gv 
vnoremap < <gv 

Vì vậy, bạn sẽ không cần phải chọn lại khối mã của bạn để thụt/dedent thêm.

3

Bạn thậm chí không cần chọn văn bản. Bạn có thể thụt lề/hủy dòng hiện tại bằng cách nhấn >> hoặc <<.