Я познакомился с несколькими языками программирования, и я хотел бы попробовать свои силы в создании текстового редактора командной строки - что-то, что работает в терминале, например vim/emacs/nano, но чистый текст (без guis, пожалуйста). Предпочтительно, я хотел бы сделать это в python. С чего начать? Существуют ли какие-либо (python) библиотеки для приложений командной строки?
Как создать текстовый редактор командной строки?
Ответ 1
попробуйте python curses, это графическая операционная библиотека командной строки.
Ответ 2
Взгляните на Программирование прокладок на Python и this.
Ответ 3
Дети сегодня! Sheesh! Когда я начинал, проклятия не были широко распространены!
Мои первые текстовые редакторы работали на реальных механических устройствах Teletype с фактической бумагой (а не на философском устройстве TTY с прокруткой экрана!)
Это все еще прекрасно работает как способ редактирования.
Используйте модуль cmd
для реализации множества команд. Используйте страницу "ex" для подсказок о том, что вам нужно. Не читайте о командах vi; не читайте о vim.
Посмотрите на страницы старшего пользователя только для раздела "КОМАНДЫ ЭКСПЛУАТАЦИИ". Например, здесь: http://www.manpagez.com/man/1/ex/.
Внедряйте добавления, добавления, изменения, удаления, глобального, вставки, объединения, списка, перемещения, печати, вывода, замены и записи команд, и вы будете счастливы.
Ответ 4
Библиотеки и ресурсы типа Curses будут вводить вас в текстовые пользовательские интерфейсы и предоставлять очень красивые, относительно простые в использовании окна, меню, редакторы и т.д.
Затем вы захотите изучить модули выделения кода для python.
Это забавный процесс, связанный с ограничениями текстовых интерфейсов, и вы можете многому научиться, спустившись по этой дороге. Удачи!
-Adam
Ответ 5
Другой вариант, если вы хотите написать TUI (текстовый пользовательский интерфейс) без необходимости спускаться до проклятий, Snack, который поставляется с Newt.
Ответ 6
Я бы порекомендовал отличный инструментарий urwid (http://excess.org/article/2009/03/urwid-0984-released) - он гораздо проще в использовании, чем прямые проклятия.
Ответ 7
Не очень серьезные предложения: редактор строк может быть реализован без проклятий.
Эти вещи довольно примитивны, конечно, и не очень весело работать. Но они могут быть реализованы с очень маленьким кодом и дают вам возможность обманывать различными схемами для поддержания состояния файла в память довольно быстро.
И они свяжут вас с программистами начала семидесятых (когда у них были телетайпы и первые стеклянные телетайпы, но после того, как перфокарты были немного просты...).
Ответ 8
Не совсем ссылка на библиотеку Python, но "Крафт редактирования текста" от Craig A. Finseth может вас заинтересовать.
Ответ 9
Хорошо, что вы подразумеваете под графическим интерфейсом? Если вы просто хотите создать что-то, что можно использовать на консоли, загляните в модуль curses
в стандартной библиотеке Python, что позволит вам имитировать примитивный графический интерфейс на консоли.
Ответ 10
Другим вариантом без проклятий является Python Slang
[Newt] (http://en.wikipedia.org/wiki/Newt_(programming_library)) написано поверх сленга.