Волшебной эвакуация жестко закодирована в много мест, , но если все, что вы хотите сделать, это уменьшить штраф вашей ВИМ нанесенные мышечной памяти, вы можете сказать inputsplitter для лечения ваших колонов в процентах:
import re
from IPython.core import splitinput
from IPython.core.inputsplitter import transform_escaped
# this is a one-character change, adding colon to the second group,
# so the line splitter will interpret ':' as an escape char
splitinput.line_split = line_split = re.compile("""
^(\s*) # any leading space
([,;/%:]|!!?|\?\??)? # escape character or characters
\s*(%{0,2}[\w\.\*]*) # function/method, possibly with leading %
# to correctly treat things like '?%magic'
(.*?$|$) # rest of line
""", re.VERBOSE)
# treat colon the same as percent:
transform_escaped.tr[':'] = transform_escaped._tr_magic
Теперь вы должны быть в состоянии делать такие вещи, как:
:cd foo
for t in range(3):
:time time.sleep(t)
Если вы хотите, чтобы это всегда срабатывало, вы можете поместить этот код в файл запуска IPython (~/.ipython/profile_default/startup/whatever.py).
Это не совсем публичные API-интерфейсы, поэтому я не буду им доверять, чтобы не испортить ничего, но, похоже, он работает в текущем мастере.
Спасибо, ваше решение работает! (по крайней мере, сейчас я лучше тренируюсь, используя default _% _ как долговременное решение) Не могу поверить, что разработчики IPython не используют vim и не принимают ** жесткие коды **. Также мне просто интересно, откуда _% _? – wizzup
Это должно было быть что-то недействительным синтаксисом, и '%' был только что выбран. IPython был первым реальным проектом Python для ряда оригинальных участников. Это было сделано много лет назад, и просто не изменилось, так как не было причин (лично мне не нравится »:). IPython находится в процессе существенной очистки, и это должно привести к тому, чтобы сделать такие изменения более простыми. Однако процесс еще не завершен. – minrk
Любые новости о работе по очистке? Многие консоли имеют свои магические переменные и функции, и они могут откладывать символы префикса ($,:,%,>,? И т. Д.). Так что действительно сделать вещи настраиваемыми - лучший выбор. И я думаю, что это не слишком сложно. – zoujyjs