Nếu tôi có nhiều tệp trong các tab trên VIM và tôi chỉnh sửa một vài tệp trong số đó. Làm thế nào để lưu chúng với một lệnh?Làm thế nào để lưu tất cả các tệp trong các tab trên Vim?
Trả lời
Lệnh wa
(viết tắt của wall
) sẽ viết tất cả các bộ đệm thay đổi. Bạn cũng có thể sử dụng :tabdo w
, chắc chắn là chính xác những gì bạn muốn và tổng quát một cách độc đáo.
': tabdo w' không tương đương với': wa'. Nếu một tab có nhiều cửa sổ mở, ': tabdo w' sẽ chỉ lưu cửa sổ hiện đang tập trung vào mỗi tab, trong khi': wa' sẽ lưu tất cả chúng. ': wa' cũng sẽ lưu các bộ đệm ẩn. –
Chỉ cần làm
:wa
(tiếp theo trở về) mà là một viết tắt cho
:wall
Cũng để "tiết kiệm tất cả mọi thứ và thoát" bạn có thể làm
:wqa
hoặc :xa
(= "write-quit-all")
Để lưu tất cả các tệp, chỉ cần sử dụng lệnh sau khi viết để ghi tất cả các tệp.
:wa
Check-out :wall
lệnh
Và bạn có thể sử dụng :tabdo! w
quá, tôi chỉ thêm này, bởi vì nó rất hữu ích cho những thứ khác nữa (ví dụ :tabdo! g/somepattern/ s/something/anything/
... Tôi sử dụng nó mọi lúc cho các mục đích refactoring ...)
Điều gì làm cho lệnh ': g/somepattern'? – rp101
Tôi khuyên bạn nên đọc trên 'help: g', nhưng trong ngắn hạn, nó chỉ áp dụng lệnh tiếp theo (trong trường hợp của tôi là' s/something/anything/'với các dòng, khớp với' somepattern'). Vâng, tôi biết, thường tôi có thể làm điều đó mà không có ': g', nhưng đôi khi không (tôi đã sử dụng để so sánh các regex đa cấp thông qua' \\ _. '), Và phần tốt nhất là': g''s little "sister "': v'. –
Xem [nhận xét của tôi về bài đăng khác ở trên] (http://stackoverflow.com/questions/4246268/how-to-save-all-files-in-tabs-on-vim#comment20689678_4246310) vì sao ': tabdo w 'có thể không hoạt động như mong đợi. –
Có thể để hậu tố a[ll]
đối với một số Vim lệnh dòng lệnh (tức là loại :
khi ở chế độ bình thường), bao gồm:
:wa
- lưu tất cả các tab/bộ đệm chưa được lưu:xa
/:wqa
- lưu tất cả các tab/bộ đệm chưa được lưu và thoát Vim:qa
- thoát vim (sẽ cảnh báo nếu bộ đệm chưa được lưu tồn tại)
Để lưu tất cả và thoát, hãy thử: ': xa' . – kenorb