ipython - 强制在任何光标位置执行表达式

时间:2017-11-11 15:13:51

标签: python terminal ipython

我有ipython 5.3.0,当我在表达式中间时(光标标记为<cursor>),例如:

In [69]: x = np.arange(<cursor>1, 21, 2).reshape(2, 5)

比按Enter键导致将此行拆分为两行。

In [69]: x = np.arange(                       
    ...: 1, 21, 2).reshape(2, 5)

但是当我把光标放在其他地方时,例如:

 In [69]: x = np.<cursor>arange(1, 21, 2).reshape(2, 5)

执行表达式。

哪种键盘快捷键强制执行表达式而不关注光标位置?

我尝试了CTRL + ENTER或SHIFT + ENTER,但没有一个人在第一个例子中工作。

1 个答案:

答案 0 :(得分:1)

This was fixed in IPython 5.4。早些时候,没有办法修补/ monkey-patching at startup,但是有一个简单的解决方法。

以下是public static function getFtpFileContents($conn_id , $file) { ob_start(); $result = ftp_get($conn_id, "php://output", $file, FTP_BINARY); $data = ob_get_contents(); ob_end_clean(); if ($resul) return $data; return null; } 5.4.1的相关逻辑。带有注释的片段是指第一个链接上的问题。修复。

IPython/terminal/shortcuts.py

如您所见,操作取决于光标与代码令牌相关的位置。

因此,如果您有完整的陈述,只需在 Enter 之前按结束强制执行。