2008-10-31 5 views
13

Cách dễ nhất để tăng hoặc giảm thụt lề cho một khối mã lớn trong vi là gì?vi thụt lề

Trả lời

14

Trong vim (không chắc chắn nếu điều này áp dụng cho bạn quá), bạn sử dụng >> để thụt lề một dòng. Như với gần như mọi lệnh trong vim, nhập vào một số trước khi lệnh thực hiện là nhiều lần. Vì vậy, để thụt lề 50 dòng tiếp theo, hãy nhập 50>>.

3

Đánh dấu, sau đó sử dụng> và <.

3

Nếu mã của bạn nằm giữa các dấu ngoặc nhọn, sau đó đặt con trỏ của bạn lên một trong các dấu ngoặc nhọn và sử dụng >% hoặc <%.

0

sử dụng hai dấu ngoặc nhọn ("< <" hoặc ">>") cho một dòng sang trái hoặc sang phải bằng các ký tự thay đổi. Bạn có thể thực hiện điều này với các chỉ báo phạm vi dòng chung - ": m, n", dấu ngoặc nhọn/ngoặc đơn/ngoặc vuông, v.v.

Hoặc "<", sau đó chỉ báo chuyển động, sau đó chọn "<".

Hoặc "" chuyển 12 dòng tiếp theo sang trái.

9

Autoidenting:

Đối với một khối {} Tôi sử dụng lệnh: = iB (với con trỏ bên trong khối để ident)

Đối với tái identing đủ hồ sơ, tôi sử dụng gg = G

Bây giờ cho tăng hoặc giảm identation trên một khối, bạn phải chọn nó (tôi sử dụng VIB lệnh) và sau đó bạn làm > > hoặc < < và nếu bạn muốn lặp lại định danh, chỉ cần sử dụng dấu chấm .

Cũng nên nhớ để đặt thiết lập identation của bạn với

: set shiftwidth = NUMOFSPACES

: set softtabstop = NUMOFSPACES

+0

>} khá hữu ích. – jop

2

Theo mặc định trong chế độ chèn, bạn có thể sử dụng Ctrl-TCtrl-D để xác định dòng hiện tại.

1

hit v để đi vào chế độ hình ảnh và mũi tên xuống để toàn bộ khối được chọn sau đó 12 >>

2

Một lệnh hữu ích là, một khi bạn sử dụng 'thụt <' hoặc '>', sử dụng '' để lặp lại lệnh cho đến khi nó xếp hàng theo cách bạn muốn.

0

: 50.100>

Will dòng thụt 50 đến 100 lần

: 50.100 >>

dòng

Will thụt 50 đến 100 hai lần

cũng làm việc với < và < <, vv

0

Đầu tiên tìm số dòng của dòng bắt đầu và kết thúc bằng cách sử dụng Control-g chỉ huy. Hãy để chúng là mn. Giả sử chúng tôi muốn thụt lề số dòng m qua n bằng 5 dấu cách. Sau đó, lệnh sau thực hiện công việc,

:m,ns/^/  /g 

Để giảm thụt đầu dòng, trước tiên hãy chuyển đổi tất cả các tab thành (khoảng 4).

:m,ns/\t/ /g 

Sau đó, giả sử chúng ta muốn loại bỏ 3 không gian từ dòng đánh số m qua n.

:m,ns/^ //g