2013-06-03 25 views
5

Khi sử dụng hoàn tab, tôi tiếp tục nhận được lời đề nghị cho các tập tin svn, vì vậy, sử dụng ls, sản lượng của tôi trông như thế này:Bash Tab Hoàn Gợi ý Hidden SVN tập tin

[spaceplace]$ ls src/ 
main/ .svn/ 
[spaceplace]$ ls src/ 
main/ .svn/ 
[spaceplace]$ ls src/ 
main/ .svn/ 
[spaceplace]$ ls src/main/ 
java/  resources/ .svn/  
[spaceplace]$ ls src/main/ 
java/  resources/ .svn/ 

Các tập tin svn không hiển thị khi tôi chỉ sử dụng ls, vì vậy tôi không biết tại sao chúng hiển thị khi tôi sử dụng tab hoàn tất. Vấn đề này dường như chỉ tồn tại với các tệp .svn và không có tệp ẩn nào khác, có vẻ lạ. Làm thế nào tôi có thể nhận các tệp này để không hiển thị khi tôi đang sử dụng tab hoàn chỉnh?

+1

Vì việc hoàn thành phần tử rỗng không loại trừ các tệp bị ẩn ... – demure

+0

Vậy tại sao không '.' và' ..' hiển thị sau đó? – fvrghl

+0

Vì nó loại trừ chúng. –

Trả lời

7

Tôi đã tìm ra cách để thực hiện điều đó; trong .bashrc của tôi, tôi đã thêm dòng bind 'set match-hidden-files off'. Bây giờ tất cả các tệp bắt đầu bằng "." không hiển thị trừ khi bạn chỉ định rõ ràng nó.

0

Hoàn thành tab không loại trừ các tệp bị ẩn. Nó hoạt động như dự định. Nếu bạn thực hiện ls -a, nó sẽ hiển thị các tệp ẩn.

Cần lưu ý rằng mọi tệp/thư mục bắt đầu bằng a. là các tệp ẩn. Dòng lệnh giả định rằng bạn sẽ cần quyền truy cập vào các tệp này, đó là lý do tại sao nó đề xuất chúng trong tự động hoàn tất.

+1

Tôi không muốn xem các tập tin ẩn mặc dù – fvrghl

2

Bash cho phép chỉ định tệp hoặc thư mục nào cần bỏ qua trong tab hoàn thành dựa trên tiện ích, ví dụ: để bỏ qua tất cả các file hoặc thư mục tên là *.svn

$ export FIGNORE=$FIGNORE:.svn 

Tùy thuộc vào cách tập tin của bạn thường được đặt tên này không nên xung đột quá nhiều (ít nhất là nó làm việc tốt cho tôi).

+0

Lệnh đó sẽ ẩn tất cả các tệp có tên * .svn trong tab hoàn thành ngay cả khi tôi xác định rõ ràng nó? Ví dụ, nếu tôi nói 'ls/test/.sv', nó sẽ hoàn thành' ls/test/.svn'? – fvrghl

+0

Không, nó sẽ không, nhưng một khi bạn đã nhập '.sv' tôi sẽ tranh luận cách nhấn một' n' duy nhất thậm chí còn tiện lợi hơn là vào 'TAB'. Nhưng bạn là đúng, khi bỏ qua những cái tên dài hơn, điều này có thể trở nên cồng kềnh (tôi chỉ có trong đó có 'CVS' ngay bây giờ). –

+0

Cảm ơn! Tôi chỉ muốn biết lệnh sẽ làm gì trước khi tôi thử nó. – fvrghl

Các vấn đề liên quan