2009-07-11 14 views
19

Có tùy chọn vỏ hoặc trình bao vỏ có hỗ trợ tệp tìm kiếm ido kiểu emacs không? Trong emacs, tôi có thể điều hướng đến một thư mục cực kỳ nhanh chóng bằng cách sử dụng C-x C-f(ido-mode t).Vỏ kiểu ido Emacs

Lý tưởng nhất, tôi đang tìm một giải pháp có thể được sử dụng bên ngoài các emacs. Mặc dù tôi sẽ mở cho một cách để nhanh chóng thay đổi thư mục trong một bộ đệm eshell.

+0

tôi thường ước ao là nhiều ứng dụng cư xử như Ido-mode. –

+7

Tại sao phải rời khỏi emacs? :) eshell? – seth

+0

Ông nói ông sử dụng eshell. Tôi đọc mã nguồn ido, và nó không thực sự đủ khả năng để sử dụng từ eshell dễ dàng. Vì vậy, anh ta sẽ cần phải cấu trúc lại ido và sau đó liên kết nó với eshell, nếu anh ta chọn con đường đó. – jrockway

Trả lời

19

Vì tôi cũng muốn một cái gì đó như thế này, tôi đã cố gắng thực hiện nó như một hàm bash hoàn thành . Rõ ràng nó có nghĩa là. bạn phải sử dụng bash.

Nó chỉ được kiểm tra nhẹ, vì vậy hãy thử và báo cáo lỗi/nhận xét.

http://pgas.freeshell.org/shell/bash-ido

+2

Công việc tuyệt vời! Bất kỳ suy nghĩ nào về việc đưa cái này lên như github? – zpinter

+1

Rất ấn tượng! – blais

0

Tôi biết rằng một số phần mở rộng hỗ trợ trình mô phỏng đầu cuối, ví dụ rxvt-unicode có thể được mở rộng bằng các tập lệnh Perl. Tôi không chắc vì tôi chưa bao giờ tự viết một phần mở rộng, nhưng có lẽ những gì bạn muốn là có thể làm được theo cách này.

Nếu bạn muốn xem một số tập lệnh Perl cho urxvt, có một số ví dụ trong/usr/lib/urxvt/perl với cài đặt urxvt mặc định trên Debian.

+1

Vấn đề là giả lập thiết bị đầu cuối và vỏ không nhận thức được nhau. Một số hack xung quanh phân tích cú pháp có thể được thực hiện, nhưng đó là một hack và có khả năng thất bại. (Xem xét là ssh'd in. Trình mô phỏng thiết bị đầu cuối nhìn thấy hệ thống tập tin cục bộ của bạn, nhưng hệ vỏ tập tin hệ thống tập tin từ xa. Hãy để sự nhầm lẫn và kết quả không chính xác bắt đầu ...) – jrockway

2

Bash có biến môi trường gọi là CDPATH có thể chứa danh sách các thư mục cần tìm khi sử dụng lệnh cd. Ngoài ra, hãy xem các phần "Lập trình hoàn thành" và "READLINE" của hướng dẫn sử dụng Bash. Bạn sẽ có thể cobble với nhau một cái gì đó mà làm việc cho bạn.

3

Thử vỏ Z. Nó hoàn thành tốt hơn nhiều so với bash. Tôi phải thừa nhận tôi đã không sử dụng nó trong một thời gian mặc dù và bị mắc kẹt với bash vì nó luôn luôn có sẵn.

0

Nếu bạn muốn hoàn thành ido trong eshell hoặc tương tự, tốt nhất bạn nên viết một hàm sử dụng ido để đọc thư mục, sau đó chèn lệnh vào cd vào thư mục đó vào bộ đệm vỏ. Tôi không sử dụng bản thân eshell, vì vậy tôi không thể bình luận về cách thực sự viết chức năng này, nhưng đó là một ý tưởng.

2

Điều tốt nhất tôi có thể thực hiện cho đến thời điểm này là autojump. Vẫn đang tìm kiếm một giải pháp gần hơn với ido, nhưng autojump là một ứng dụng nhỏ tuyệt vời.

+0

và tôi phát hiện ra Fasd mà tôi thấy thậm chí còn tốt hơn: https: // github.com/clvv/fasd – Ehvince