2012-07-18 37 views
7

Tôi đang cố gắng điền vim arglist với tất cả tên tệp trong một thư mục không bao gồm "matcher". Tôi có thể điền vào nó với tên tệp DO bao gồm "matcher" bằng cách sử dụngLàm thế nào tôi có thể phủ nhận một glob trong vim?

args *matcher* 

Có cách nào đơn giản để loại bỏ glob để nhận tất cả các tệp không khớp?

Trả lời

8

Cách duy nhất tôi biết là như sau:

:args * | silent! argdelete *matcher* 

Phần silent! là cần thiết để bỏ qua No match lỗi.

Cập nhật. Một cũng có thể tạo một lệnh tiện dụng để gõ phím ít:

:command! -nargs=* Args args * | silent! argdelete <args> 

Và sử dụng nó như thế này:

:Args *matcher* 
+0

Tốt, tôi sẽ sử dụng nó. (Ngoài ra, hãy lấy các phím có trọng số :) Rất đẹp để làm việc. Nói cách khác, đẹp gravatar) – sehe

+0

Giải pháp tốt, vim quá xấu không hỗ trợ trực tiếp. –

1

lệnh xaizek là ngắn và thông minh; Thật không may, nó chỉ đề với các tập tin đối số từ thư mục hiện hành. Tôi đã mở rộng trên đó để làm việc với bất kỳ thư mục nào, và bó nó với các lệnh hữu ích khác để xử lý đối số trong ArgsAndMore plugin của tôi.

+0

Tuyệt vời, cảm ơn Ingo. Tôi đang cài đặt plugin của bạn. –