我已经了解了几种编程语言,并且我想尝试制作一个命令行文本编辑器 - 在终端中运行的东西,比如vim / emacs / nano,但是是纯文本(请不要guis,请)。最好,我想在python中这样做。我从哪里开始?是否有任何(python)库来执行命令行应用程序?
答案 0 :(得分:19)
尝试python curses模块,它是一个命令行图形操作库。
答案 1 :(得分:9)
答案 2 :(得分:6)
今天的孩子们!啧!当我开始时,诅咒并没有得到广泛使用!
我的第一个文本编辑使用实际纸张(不是带有滚动屏幕的哲学“TTY”设备)处理实际的机械电传打字设备!)
这仍然可以很好地作为一种编辑方式。
使用cmd
模块实现一堆命令。使用'ex'手册页提供您需要的提示。不要阅读有关vi命令的内容;避免阅读vim。
仅查看“EX COMMANDS”部分的旧手册页。例如,这里:http://www.manpagez.com/man/1/ex/。
实施附加,添加,更改,删除,全局,插入,加入,列出,移动,打印,退出,替换和编写命令,您会很高兴。
答案 3 :(得分:5)
Curses类型库和资源将使您进入文本用户界面,并提供非常好用,相对易于使用的窗口,菜单,编辑器等。
然后你会想要查看代码突出显示python的模块。
处理文本界面的局限性是一个有趣的过程,你可以通过走这条路来学到很多东西。祝你好运!
- 亚当
答案 4 :(得分:5)
答案 5 :(得分:3)
我会推荐优秀的urwid工具包(http://excess.org/article/2009/03/urwid-0984-released) - 它比直接诅咒更容易使用。
答案 6 :(得分:2)
一个不太严肃的建议:line editor可以在没有诅咒的情况下实施。
这些东西当然非常原始,并且工作起来并不是很有趣。但是它们可以用非常少的代码实现,并且会让你有机会利用各种方案来维护文件状态。记忆很快。
他们会让你联系到七十年代早期的程序员(当他们有电传和第一个玻璃电传时,但穿孔后的卡片有点过时......)。
答案 7 :(得分:2)
不完全是对Python库的引用,但Craig A. Finseth的The Craft of Text Editing可能会让您感兴趣。
答案 8 :(得分:1)
嗯,GUI是什么意思?如果您只想创建可在控制台上使用的内容,请查看Python标准库中的curses
模块,该模块允许您在控制台上模拟各种原始GUI。
答案 9 :(得分:0)
没有诅咒的另一个选项是Python Slang
[Newt](http://en.wikipedia.org/wiki/Newt_(programming_library))写在俚语之上。