Копировать код из IPython без ведущих тройных точек
Я использую IPython Qt Console, и когда я копирую код FROM Ipython, он выглядит следующим образом:
class notathing(object):
...:
...: def __init__(self):
...: pass
...:
Есть ли способ скопировать их без этих тройных точек и doublecolon?
P.S. Я попробовал как Copy
, так и Copy Raw Text
в контекстном меню, и он все тот же. ОС: Debian Linux 7.2 (KDE).
Ответы
Ответ 1
Эта регрессия копирования QTconsole исправлена, см. https://github.com/ipython/ipython/issues/3206 - Я могу подтвердить, что желаемое поведение снова присутствует в QtConsole в Canopy 1.2 GUI и, я подозреваю, в яйце ipython, которое можно установить бесплатными пользователями из репозитория яйца Enthought.
Ответ 2
Как насчет использования %hist n
для печати строки n
(или диапазона строк) без подсказок (включая продолжение строк) и выполнения вашей копии? (Просто прокрутка к этой строке почти такая же).
In [1]: def foo():
...: return 1+2
...:
In [6]: %history 1
def foo():
return 1+2
Ответ 3
Одной из интересных функций ipython
является регистрация сеанса. Если вы включите его, код, который вы вводите в сеанс, регистрируется в файле. Это очень полезно, я использую его все время.
Чтобы сделать вещи для меня еще более унылыми, у меня есть псевдоним оболочки ipy_log_cat
, который печатает весь файл. Вы можете сделать что-то вроде: ipy_log_cat | tail
, чтобы получить самые последние строки ввода. (это также полезно для истории сеансов grep
и т.д.). Вы также можете сохранить несколько штрихов клавиатуры/мыши, подключив его к xclip
!
Ответ 4
Это может быть слишком круто для вас, но вы можете использовать функцию сохранения% save, чтобы сохранить соответствующие строки, а затем скопировать их из файла сохранения.
Ответ 5
Я стараюсь держать открытое окно gvim для такого рода вещей. Вставьте определение своего класса как есть, а затем сделайте что-то вроде:
:%s/^.*\.://