python - [1]+ Stopped vim foo.py 错误,如何解决?

标签 python vim

每当我像这样从 vim 命令运行 python 程序时:

:!python foo.py

运行程序后,vim 会停下来并说:

[1]+  Stopped                 vim foo.py

不知道为什么会出现这样的错误。 我没有在其他应用程序中使用 foo.py 文件,但它恰好发生了。

如果您需要,这是我的 .exerc 文件内容:

set nu
syntax on
filetype on
filetype indent on
filetype plugin on
set tabstop=4
set shiftwidth=4
set softtabstop=4
set shellcmdflag=-ic

运行后打开 foo.py 时,vim 会这样说:

E325: ATTENTION
Found a swap file by the name ".foo.py.swp"
          owned by: me   dated: Mon Sep 30 21:05:52 2013
         file name: ~foo/bar/foo.py
          modified: no
         user name: me   host name: hostname
        process ID: 3635 (still running)
While opening file "foo.py"
             dated: Sat Sep 28 23:04:15 2013

(1) Another program may be editing the same file.
    If this is the case, be careful not to end up with two
    different instances of the same file when making changes.
    Quit, or continue with caution.

(2) An edit session for this file crashed.
    If this is the case, use ":recover" or "vim -r foo.py"
    to recover the changes (see ":help recovery").
    If you did this already, delete the swap file ".foo.py.swp"
    to avoid this message.

Swap file ".foo.py.swp" already exists!

谢谢。 (我使用的是 mac os x)

最佳答案

说:

set shellcmdflag=-ic

使 vim 在尝试执行 shell 命令时打开交互式 shell。

为了打开一个交互式 shell,它暂停 vim 进程。这解释了您观察到的行为([1]+ Stopped ...Found a swap file ...)。

(您可以说 fg 从这样创建的 shell 中恢复编辑器。)

如果你删除

set shellcmdflag=-ic

在您的 .exerc 中,您不会观察到这个问题。

关于python - [1]+ Stopped vim foo.py 错误,如何解决?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19094122/

相关文章:

python - 如何获取数组的第一列

python - 根据条件将数据帧转换为元组列表

security - 将vimrc推送到Github时如何避免暴露 secret 信息

vim - 配置选项卡以显示变体列表而不是在 VIM 中循环

regex - vim 正则表达式 : deleting character based on position

python - 有没有更快的方法来获得相同的结果?

python - Pandas 删除某些列中相对于其他列重复的行

Python:所有可能的字母组合

vim - 如何在 Vim 中不延迟地退出可视模式?

ubuntu - 我们可以缩短/etc/sudoers 中的脚本吗?