Использование оболочки Python в режиме Vi в Windows - PullRequest
4 голосов
/ 03 декабря 2009

Я знаю, что вы можете использовать оболочку Python в режиме Vi в Unix-подобных операционных системах. Например, у меня есть эта строка в моем ~/.inputrc:

set editing-mode vi

Это позволяет мне использовать редактирование в стиле Vi внутри оболочки Python.

Но можно ли это заставить работать при использовании Python на Windows XP? Я использую готовый Python для Windows, загруженный непосредственно с python.org.

Я предполагаю, что версия Windows не использует библиотеку GNU Readline, но я был бы рад оказаться ошибочным. :)

Ответы [ 3 ]

2 голосов
/ 18 марта 2012

Установка PyReadline

Настройте файлы pyreadlineconfig.ini и PYTHONSTARTUPFILE согласно инструкциям PyReadline.

Затем добавьте в файл pyreadlineconfig.ini следующее:

set_mode("vi")
history_filename("~/.pythonhistory")
history_length(200)

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

Команды, такие как ESC K для перехода к предыдущей команде, теперь работают.

1 голос
/ 03 декабря 2009

cygwin может дать вам множество преимуществ Unix-y в вашей «Windows XP box» (помимо прочего, с использованием собственной сборки Python - избегая некоторых ограничений Windows «стандартной Windows» builds ") - попробуйте!

0 голосов
/ 29 ноября 2010

Отвечая на мой собственный вопрос, похоже, что вы можете использовать библиотеку PyReadline в сочетании с IPython , чтобы получить большинство функций Vi, которые мне не хватает в Linux. Я до сих пор не понял, как я могу нажать ESC, а затем k, чтобы просмотреть предыдущую историю команд.

...