2009-03-27 35 views
15

Tôi đã biết cách của mình xung quanh một vài ngôn ngữ lập trình và tôi muốn thử làm một trình soạn thảo văn bản dòng lệnh - thứ gì đó chạy trong terminal, như vim/emacs/nano, nhưng văn bản thuần túy (không guis, xin vui lòng). Tốt hơn, tôi muốn làm điều này trong python. Tôi bắt đầu từ đâu? Có bất kỳ thư viện (python) nào để thực hiện các ứng dụng dòng lệnh không?Làm cách nào để tạo trình soạn thảo văn bản dòng lệnh?

+0

nếu bạn tìm thấy các dự án đang diễn ra, vui lòng cho chúng tôi biết. Tôi rất muốn nhìn thấy một trình soạn thảo giống như vim được viết bằng python và sử dụng python như ngôn ngữ kịch bản ... –

Trả lời

18

thử python curses mô-đun, đó là thư viện hoạt động đồ họa dòng lệnh.

+4

Trẻ em ngay hôm nay! Khi tôi đang học viết mã, chúng tôi không có lời nguyền, chúng tôi đã có những chiếc điện thoại! –

+5

Trở lại thời thơ ấu của chúng tôi, chúng tôi đã phải làm bằng tay trước khi chúng tôi bắt đầu, P –

+6

Quay trở lại trong ngày, chúng tôi sử dụng bánh răng và hơi nước để tiết lộ và che giấu các điểm ảnh 1 foot vuông trên màn hình rộng lớn. , và toàn bộ điều là vô nghĩa trừ khi bạn có một đội ngũ được đào tạo ít nhất 100 gnomes. –

1

Vâng, ý của bạn là gì với GUI? Nếu bạn chỉ muốn tạo một cái gì đó có thể được sử dụng trên bàn điều khiển, hãy nhìn vào mô-đun curses trong thư viện chuẩn Python, cho phép bạn mô phỏng một giao diện nguyên thủy của các loại trên bàn điều khiển.

5
thư viện

Curses loại và các nguồn lực sẽ giúp bạn có được vào giao diện người dùng văn bản, và cung cấp rất tốt đẹp, tương đối dễ dàng để sử dụng các cửa sổ, trình đơn, biên tập viên, vv

Sau đó, bạn sẽ muốn nhìn vào mã nổi bật module cho python.

Đó là một quá trình thú vị đối phó với những hạn chế của giao diện văn bản và bạn có thể học được rất nhiều bằng cách đi xuống con đường này. Chúc may mắn!

-Adam

+0

Cảm ơn - bạn có đề xuất nào tốt cho các mô-đun nêu bật mã không? Tôi đã poking quanh tài liệu pygments, nhưng điều đó không giống như nó được xây dựng để làm nổi bật cú pháp thời gian thực. Các pygments có thể làm nổi bật cú pháp thời gian thực hay không, hoặc có các mô-đun khác mà tôi nên kiểm tra không? – So8res

+0

Pygments có thể làm thời gian thực nhưng có thể hơi không hiệu quả. – fread2281

5

Một tùy chọn khác nếu bạn muốn viết một TUI (Giao diện người dùng văn bản) mà không cần phải giảm xuống để nguyền rủa là Snack, đi kèm với Newt.

2

Một đề xuất không nghiêm trọng: một line editor có thể được triển khai mà không bị nguyền rủa.

Những thứ này khá thô sơ, tất nhiên, không có nhiều điều thú vị để làm việc. Nhưng chúng có thể được triển khai với rất ít mã, và sẽ cho bạn cơ hội đánh lừa với các lược đồ khác nhau để duy trì trạng thái tệp trong bộ nhớ khá nhanh.

Và họ sẽ giúp bạn liên lạc với các lập trình viên của những năm đầu 70 (khi họ có điện thoại và các loại kính đầu tiên, nhưng sau khi thẻ đục lỗ là một chút ...).

6

Trẻ em hôm nay! Sheesh! Khi tôi bắt đầu, lời nguyền không được sử dụng rộng rãi!

soạn thảo văn bản đầu tiên của tôi đã làm việc trên các thiết bị điện báo cơ khí thực tế với giấy thực tế (không phải là một triết học "TTY" thiết bị với một màn hình di chuyển!)

này vẫn hoạt động độc đáo như một cách để chỉnh sửa.

Sử dụng mô-đun cmd để triển khai một loạt lệnh. Sử dụng trang 'ex' man cho các gợi ý về những gì bạn cần. Không đọc về các lệnh vi; tránh đọc về vim.

Nhìn vào các trang dành cho người lớn tuổi chỉ cho phần "EX COMMANDS". Ví dụ: tại đây: http://www.manpagez.com/man/1/ex/.

Thực hiện chắp thêm, thêm, thay đổi, xóa, xóa, nhập, nối, liệt kê, di chuyển, in, thoát, thay thế và viết lệnh và bạn sẽ hài lòng.

+0

Tương tác đầu tiên của tôi với một "máy tính" đã kết thúc với một TTY từ xa kết nối âm thanh. Than ôi, nó là một máy tính lớn tại văn phòng của bố, và tôi đã không được phép làm bất cứ điều gì thú vị với nó. – dmckee

+0

TTY đầu tiên của tôi là có dây cứng. Có lẽ 110 BAUD. Tôi nhớ khi 300 BAUD là một vấn đề lớn. –

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