2009-03-27 26 views
15

He aprendido a usar algunos lenguajes de programación, y me gustaría hacer un editor de texto de línea de comandos, algo que se ejecuta en la terminal, como vim/emacs/nano, pero es texto puro (sin guis, por favor). Preferiblemente, me gustaría hacer esto en Python. ¿Dónde empiezo? ¿Hay alguna biblioteca (python) para hacer aplicaciones de línea de comandos?¿Cómo hago un editor de texto de línea de comando?

+0

si encuentra proyectos en curso, háganoslo saber. Me encantaría ver un editor tipo vim escrito en python y usar Python como lenguaje de scripting ... –

Respuesta

18

try python curses módulo, es una biblioteca de operaciones gráficas de línea de comandos.

+4

Kids today! Cuando estaba aprendiendo a codificar, no teníamos maldiciones, ¡teníamos teletipos! –

+5

En mi juventud tuvimos que hacer tableros de circuitos hechos a mano antes de siquiera comenzar; P –

+6

En mi época, utilizábamos engranajes y vapor para revelar y ocultar píxeles cuadrados de 1 pie en enormes pantallas con hoguera que se extendían millas , y todo fue inútil a menos que tuvieras un equipo entrenado de al menos 100 gnomos. –

1

Bueno, ¿qué quiere decir con una GUI? Si solo desea crear algo que pueda usarse en una consola, consulte el módulo curses en la biblioteca estándar de Python, que le permite simular una GUI primitiva en una consola.

5
bibliotecas y recursos de tipo

maldiciones conseguir que en las interfaces de usuario textual, y proporcionar muy agradable, relativamente fácil de usar ventanas, menús, editores, etc.

Entonces usted desee ver en los módulos de código destacando para Python.

Es un proceso divertido que trata con las limitaciones de las interfaces textuales, y puede aprender mucho yendo por este camino. ¡Buena suerte!

-Adam

+0

Gracias - ¿tiene alguna buena recomendación para dichos módulos de resaltado de código? Estaba hurgando en la documentación de los pygments, pero no parecía haber sido creada para resaltar la sintaxis en tiempo real. ¿Pueden los pigmentos hacer resaltado de sintaxis en tiempo real, o hay otros módulos que debería revisar? – So8res

+0

Pygments puede hacer en tiempo real, pero puede ser un poco ineficiente. – fread2281

5

Otra opción si desea escribir un UIS (texto de la interfaz de usuario) sin tener que descender a maldiciones es Snack, que viene con Newt.

2

A sugerencias no muy graves: un line editor puede implementarse sin maldiciones.

Estas cosas son bastante primitivas, por supuesto, y no es muy divertido trabajar en ellas. Pero se pueden implementar con muy poco código y te darán la oportunidad de jugar con varios esquemas para mantener el estado del archivo en memoria bastante rápido.

Y te pondrían en contacto con los programadores de principios de los setenta (cuando tenían los teletipos y los primeros teletipos de cristal, pero después de las tarjetas perforadas estaban un poco pasados ​​...).

6

Niños hoy! Sheesh! Cuando comencé, ¡maldiciones no eran de uso generalizado!

Mis primeros editores de texto trabajaron en dispositivos reales de teletipo mecánicos con el papel real (no un dispositivo filosófica "TTY" con una pantalla de desplazamiento!)

Esto todavía funciona muy bien como una forma de editar.

Utilice el módulo cmd para implementar un conjunto de comandos. Use la página del manual 'ex' para obtener sugerencias sobre lo que necesita. No lea sobre los comandos vi; evitar leer sobre vim.

Mire las páginas del manual anterior solo para la sección "COMANDOS EX". Por ejemplo, aquí: http://www.manpagez.com/man/1/ex/.

Implemente los comandos agregar, agregar, cambiar, eliminar, global, insertar, unir, mostrar, mover, imprimir, salir, sustituir y escribir, y estará contento.

+0

Mi primera interacción con una "computadora" fue sobre un TTY remoto acoplado acústicamente. Por desgracia, era un ordenador central en la oficina de papá, y no me permitieron hacer nada interesante con él. – dmckee

+0

Mis primeros TTY estaban cableados. Probablemente 110 BAUD. Recuerdo cuando 300 BAUD fue un gran negocio. –

Cuestiones relacionadas