Подтвердить что ты не робот

Ipython:% наклеить соединение ssh

В ipython >= 0.11 требуется команда% paste для вставки отступов. Однако, если я запускаю оболочку ipython в удаленном терминале, это означает, что буфер% paste относится к удаленной машине, а не к локальной машине. Есть ли способ обойти это?

4b9b3361

Ответ 1

Я думаю, что это именно то, для чего %cpaste (я всегда забываю обо всех вещах, которые делает IPython). %cpaste переходит в состояние, позволяющее вставлять уже отформатированный или отступырованный код, и он лишит ведущие отступы и подсказки, поэтому вы можете копировать/вставлять отступы из файлов или даже из интерактивного сеанса Python, включая ведущие >>> или In [1], который будет удален.

Ответ 2

Не блестящее решение, но я думаю, что это сработает:

Используйте %autoindent, чтобы отключить автоопределение, введите if True: и нажмите enter. Затем вставьте свой отложенный код.

Я думаю, что должно быть возможно написать расширение IPython, чтобы справиться с этим лучше. Я постараюсь разобраться в этом. Я сделал проблему.

Если вы много используете IPython, вы можете захотеть, чтобы работала новая архитектура ядра/клиента - должно быть возможно туннелировать соединения через SSH, поэтому вы можете использовать консоль Qt на своей локальной машине, разговаривая с ядром на сервере. Но это может занять немного времени, чтобы войти.