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?
Respuesta
try python curses módulo, es una biblioteca de operaciones gráficas de línea de comandos.
Kids today! Cuando estaba aprendiendo a codificar, no teníamos maldiciones, ¡teníamos teletipos! –
En mi juventud tuvimos que hacer tableros de circuitos hechos a mano antes de siquiera comenzar; P –
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. –
Echa un vistazo a Curses Programming in Python y this también.
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.
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
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
Pygments puede hacer en tiempo real, pero puede ser un poco ineficiente. – fread2281
Yo recomendaría el excelente conjunto de herramientas urwid (http://excess.org/article/2009/03/urwid-0984-released) - es mucho más fácil de usar que las maldiciones rectas.
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 ...).
No es exactamente una referencia a una biblioteca de Python, pero The Craft of Text Editing de Craig A. Finseth puede ser de su interés.
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.
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
Mis primeros TTY estaban cableados. Probablemente 110 BAUD. Recuerdo cuando 300 BAUD fue un gran negocio. –
Otra opción sin maldiciones es Python Slang
[Newt] (http://en.wikipedia.org/wiki/Newt_(programming_library)) se escribe en la parte superior de la jerga.
- 1. vim: inserte el texto seleccionado en la línea de comando?
- 2. ¿Cómo agrego un indicador de línea de comando como $ EDITOR al confirmar en svn y git
- 3. ¿Cómo agregar una línea vacía en un archivo de texto usando la línea de comando?
- 4. cómo crear un editor de javascript en línea?
- 5. Cómo iniciar el comando de texto en la línea de comando
- 6. Desarrollo de Android con editor de tipo bloc de notas y línea de comando
- 7. ¿Hay un editor de texto jQuery liviano?
- 8. Teoría del editor de texto
- 9. Editor de texto con ajuste de comentario
- 10. ¿Cómo hago un cuadro de texto en expansión?
- 11. Buscando un editor .NET "texto"
- 12. Línea de comando diff utilidad
- 13. cómo escribir un editor de texto en C++
- 14. ¿Cómo diseñar un editor de texto en QT?
- 15. Los cursores permanecen donde hago clic en el editor de texto VS
- 16. Cómo cambiar el color de línea de comando de Emacs
- 17. Cómo leer línea por línea desde un área de texto
- 18. ¿Cómo puedo ejecutar un comando de línea de comando desde un programa en C++
- 19. Línea de comando de Python - Entrada de línea múltiple
- 20. Línea de comando de Maven
- 21. Crear texto/editor de código desde cero
- 22. Cómo dar salida a mi texto de la línea de comando de ruby en diferentes colores
- 23. ¿Cómo aplicar el comando de shell a cada línea de un resultado de comando?
- 24. vbs cómo obtener el resultado de un comando de línea de comando
- 25. Editor de texto con resaltado de sintaxis y números de línea?
- 26. ¿Editor de texto enriquecido libre de Javascript?
- 27. ¿Cómo hago un programa de OCR?
- 28. Ejemplo de editor de texto moderno architectro
- 29. línea de comando de xcodebuild ignorando GCC_PREPROCESSOR_DEFINITIONS
- 30. Realización de un editor de texto en 3D en C++
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 ... –