2012-08-10 28 views
18

Tôi đang đọc SICP và tôi đang sử dụng mit-scheme cài đặt trên máy tính xách tay os x 10.8 của mình qua homebrew.mitL scheme REPL với lịch sử dòng lệnh và hoàn thành tab

Mọi thứ hoạt động như được quảng cáo, tuy nhiên tôi bị hư hỏng bởi sự dễ dàng mà tôi nhận được tab hoàn thành và lịch sử dòng lệnh trong REPL cho các thời gian chạy như Python và Node.js.

Tôi không tìm kiếm bất kỳ nhiệm vụ nặng nề nào, nhưng các tính năng này khá dễ sử dụng trong REPL hiện đại (chỉ là a simple startup file bằng Python và có thể được triển khai trong a few lines in Node.js). Có một cách dễ dàng để có được hoàn thành tab và lịch sử lệnh trong REPL mit-scheme mà không cần một ứng dụng hạng nặng hoặc phải chuyển sang emacs (tức là trong một thiết bị đầu cuối xterm) không? Không.

Trả lời

40

Cài đặt readline wrapper:

brew install rlwrap

Sau khi cài đặt, rlwrap scheme sẽ cung cấp cho bạn lịch sử dai dẳng, khớp Dấu ngoặc đơn, và hoàn thành tab. Tôi thường sử dụng rlwrap với các đối số sau đây:

-r Đặt tất cả các từ nhìn thấy trong và xuất trên danh sách hoàn thành.

-c Tên tệp hoàn chỉnh

-f Chỉ định danh sách từ để sử dụng cho hoàn thành tab. Tôi đang sử dụng một danh sách tóm tắt các ràng buộc từ MIT Scheme Reference Manual. Thay vì xuất bản lại danh sách ở đây, bạn có thể tìm thấy nó trong this gist. Tôi có tập tin này được lưu giữ trong "$ HOME" /scheme_completion.txt

rlwrap -r -c -f "$HOME"/scheme_completion.txt scheme

1 ]=> (flo:a <tab tab> 
flo:abs flo:acos flo:asin flo:atan flo:atan2 
1 ]=> (flo:abs -42.0) 

;Value: 42. 
+0

Tình yêu này. Điều này có vẻ thực sự hữu ích cho các chương trình khác. –

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