如何创建命令行文本编辑器?

时间:2009-03-27 02:19:14

标签: python text-editor tui

我已经了解了几种编程语言,并且我想尝试制作一个命令行文本编辑器 - 在终端中运行的东西,比如vim / emacs / nano,但是是纯文本(请不要guis,请)。最好,我想在python中这样做。我从哪里开始?是否有任何(python)库来执行命令行应用程序?

10 个答案:

答案 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)

如果您想编写TUI(文本用户界面)而不必下载到curses,则另一个选项是SnackNewt附带。

答案 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))写在俚语之上。