python в vim`e? (для тех кто не в курсе команда :python) Не думаю. Ведь там нет многого, к чему мы привыкли в нормальных интерактивных консолях, например авто-завершения или авто-отступов. Так же всё время писать :py для ввода кода, несколько утомляет. Тут мне могут возразить, мол лучше пользоваться полноценными шелами вроде ipython. Но тогда вы не получите доступа к внутренностям vim с помощью одноимённого модуля, да и переключать всё время окошки тоже занятие не из весёлых.
Руководствуясь всеми этими причинами, я решил упростить себе жизнь и написать плагин к vim, для более комфортной работы со встроенным интерпретатором.
И так что же умеет мой плагин:
ipython, например max? выведет справку)PyInteractiveREPL.'>>>' ). Всё, теперь командное окно vim переключилось в режим python шелла. Для того чтобы закончить сеанс жмём <ESC>.<TAB>. 
Совет, если вы ходите чтобы вывод вариантов авто-завершения был более информативным, советую прописать в vimrc следующее:set wildmode=list:longest,fullPyInteractiveHistory. она поддерживает множество ключей, о которых можно узнать из документации.
Пример работы с pyinteractive:
:PyInteractiveREPL
>>> def inc_10(x):
...     return x+10
...
>>> inc_10(7)
17
>>> import sys
>>> sys.ex<tab> # (see pyinteractive-autocompletion)
<built-in function exit>
<ESC>
:PyInteractiveEval inc_10(11) +1
22
:PyInteractiveHistory
 in[1]: def inc_10(x):
 in[2]:     return x+10
 in[3]:
 in[4]: inc_10(7)
out[1]: 17
 in[5]: import sys
 in[6]: sys.exit
out[2]: <built-in function exit>
 in[7]: inc_10(11) +1
out[3]: 22
Видео, демонстрирующее работу плагина (старая версия) 
среда, 20 июня 2012 г.
Плагин pyinteractive-vim
Удобно ли вам работать во встроенном интерпретаторе 
Для того чтобы вызвать интерпретатор, нужно выполнить команду   
После чего появится стандартное приветствие python ( 
Важное примечание, всё что вы вводили в сеансах, сохраняется между ними.
Для авто-завершения используется  
Для того чтобы отобразить историю общения с шеллом, используется команда  
Репозиторий  плагина на github
Ярлыки:
инструменты,
python,
vim
Подписаться на:
Комментарии к сообщению (Atom)
Попробую, показалось очень интересным, я с "питоном" только начинаю. Спасибо!
ОтветитьУдалитьСергей, большая просьба, в случае использования, опишите дальнейшие пожелания по улучшению плагина.
УдалитьЯ только начинаю, попробовал и мне понравилось. Конечно нет раскраски кода, но и в python shell ее тоже нет. А так всем рекомендую!
ОтветитьУдалитьРад стараться. Подсветку тут к сожалению не организовать, в силу реализации
Удалить