Как создать текстовый редактор командной строки?

Я познакомился с несколькими языками программирования, и я хотел бы попробовать свои силы в создании текстового редактора командной строки - что-то, что работает в терминале, например vim/emacs/nano, но чистый текст (без guis, пожалуйста). Предпочтительно, я хотел бы сделать это в python. С чего начать? Существуют ли какие-либо (python) библиотеки для приложений командной строки?

Ответы

Ответ 1

попробуйте python curses, это графическая операционная библиотека командной строки.

Ответ 3

Дети сегодня! Sheesh! Когда я начинал, проклятия не были широко распространены!

Мои первые текстовые редакторы работали на реальных механических устройствах Teletype с фактической бумагой (а не на философском устройстве TTY с прокруткой экрана!)

Это все еще прекрасно работает как способ редактирования.

Используйте модуль cmd для реализации множества команд. Используйте страницу "ex" для подсказок о том, что вам нужно. Не читайте о командах vi; не читайте о vim.

Посмотрите на страницы старшего пользователя только для раздела "КОМАНДЫ ЭКСПЛУАТАЦИИ". Например, здесь: http://www.manpagez.com/man/1/ex/.

Внедряйте добавления, добавления, изменения, удаления, глобального, вставки, объединения, списка, перемещения, печати, вывода, замены и записи команд, и вы будете счастливы.

Ответ 4

Библиотеки и ресурсы типа Curses будут вводить вас в текстовые пользовательские интерфейсы и предоставлять очень красивые, относительно простые в использовании окна, меню, редакторы и т.д.

Затем вы захотите изучить модули выделения кода для python.

Это забавный процесс, связанный с ограничениями текстовых интерфейсов, и вы можете многому научиться, спустившись по этой дороге. Удачи!

-Adam

Ответ 5

Другой вариант, если вы хотите написать TUI (текстовый пользовательский интерфейс) без необходимости спускаться до проклятий, Snack, который поставляется с Newt.

Ответ 7

Не очень серьезные предложения: редактор строк может быть реализован без проклятий.

Эти вещи довольно примитивны, конечно, и не очень весело работать. Но они могут быть реализованы с очень маленьким кодом и дают вам возможность обманывать различными схемами для поддержания состояния файла в память довольно быстро.

И они свяжут вас с программистами начала семидесятых (когда у них были телетайпы и первые стеклянные телетайпы, но после того, как перфокарты были немного просты...).

Ответ 9

Хорошо, что вы подразумеваете под графическим интерфейсом? Если вы просто хотите создать что-то, что можно использовать на консоли, загляните в модуль curses в стандартной библиотеке Python, что позволит вам имитировать примитивный графический интерфейс на консоли.