【发布时间】:2020-11-20 04:13:05
【问题描述】:
我一直在使用 vim 在 C 中进行编码,目前也正在为 python 切换到它。 我的 vimrc 中有以下行
autocmd FileType python map <buffer> <leader><ENTER> :w<CR>:exec '!python3' shellescape(@%, 1)<CR>
随着我的 python 文件越来越复杂,处理整个文件的时间也越来越长。我想知道是否有一种方法可以将我以前的变量保存在内存中,并且只运行额外的命令行,就像我在交互式 python 会话中一样。将完整文件发送到 bash 会运行整个脚本并清除所有内存。
text = read_file('my_file.txt')
text_index = index(text)
pattern = 'asdjhlsajf'
def search:
...
基本上,有没有办法从 vim 将这些命令逐行发送到交互式 python 会话?
【问题讨论】:
-
好吧,我不是蟒蛇,所以请谨慎对待我的评论。但我认为你需要有一些持续运行的 python shell 实例。似乎有一些插件正在使用 ipython 执行此操作:github.com/hanschen/vim-ipython-cell
-
如果你对使用插件没问题,像 vim-slime 这样将你的数据传递到 python REPL 的东西可以工作。 @DoktorOSwaldo 提到的插件看起来也不错
-
看看vim-slime。您可以运行交互式 Python 解释器(ipython 甚至更好)并使用 slime 将来自 Vim 的 sn-ps 发送到其中。
标签: vim interactive