Làm thế nào tôi áp dụng một lệnh cho tất cả các dòng?


19

Nếu tôi muốn thụt lề tất cả các dòng trong tài liệu, tôi có thể nhập >Gđể áp dụng nó cho dòng hiện tại và bên dưới, tiếp theo và >ggáp dụng nó cho các dòng trên.

Có sự kết hợp nào tôi có thể sử dụng để chỉ áp dụng >cho tất cả các dòng cùng một lúc không?

Câu trả lời:


19

Bạn đang tìm kiếm :>lệnh và một phạm vi 1,$( %viết tắt) cho toàn bộ tệp.

:%>

Để được trợ giúp thêm xem:

:h :>
:h :range

5
Do tiêu đề của câu hỏi này ("áp dụng một lệnh cho tất cả các dòng"), tôi cảm thấy đáng chú ý rằng ví dụ trong câu hỏi đề cập đến toán tử chế độ Bình thường >, trong khi câu trả lời này sử dụng lệnh Chế độ lệnh :>. Đây không phải là, nói đúng ra, điều tương tự. Rằng họ có cùng tên nên được coi là trùng hợp ngẫu nhiên; đừng cho rằng bạn có thể trao đổi các toán tử và lệnh nói chung. Ví dụ, các gUnhà điều hành chuyển đổi văn bản sang chữ hoa, nhưng :%gUkhông một lệnh có hiệu lực áp dụng tương tự cho toàn bộ đệm.
tommcdo


3

Không cần rời khỏi chế độ bình thường, bạn có thể chỉ cần làm:

gg>G

2
Nhược điểm ở đây là bạn mất vị trí trong tệp
TankorSmash

Tất cả các câu trả lời khác đều chia sẻ nhược điểm đó và OP không đề cập đến "tôn trọng vị trí con trỏ" như một yêu cầu.
romainl 8/12/2015

1
<co> có thể được sử dụng để quay lại vị trí trước đây của bạn @ giải pháp của romainl yêu cầu bạn quay lại hai lần trong khi người kia chỉ yêu cầu quay lại một lần
Brett Y

Chắc chắn bạn có thể đánh giá cao giá trị của việc giữ vị trí của bạn, và làm thế nào một câu trả lời giữ vị trí đó sẽ có giá trị.
TankorSmash

1
Đó là lý do tại sao nó không bị hạ thấp. Nó chỉ đơn giản là một ghi chú nói rằng có một lựa chọn tốt hơn ở đâu đó và họ nên tiếp tục tìm kiếm. Ví dụ, trên một trang SE lập trình, mã cẩu thả để giải quyết vấn đề, nhưng bạn vẫn mong đợi tìm một giải pháp khác giải quyết vấn đề và có vẻ tốt.
TankorSmash

3

Một tùy chọn khác chưa được đề cập:

:g/^/>

Điều này sẽ chạy lệnh >trên tất cả các dòng phù hợp với mẫu ^.

Nhược điểm là điều này sẽ ghi đè lên lịch sử tìm kiếm của bạn.

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.