每当我从 vim 命令运行 python 程序时,如下所示:
:!python foo.py
Run Code Online (Sandbox Code Playgroud)
运行程序后,vim 会停下来并说:
[1]+ Stopped vim foo.py
Run Code Online (Sandbox Code Playgroud)
我不知道为什么会出现这样的错误。我没有在其他应用程序中使用 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
Run Code Online (Sandbox Code Playgroud)
当我运行 foo.py 后打开它时,vim 会说:
E325:注意
找到一个名为“.foo.py.swp”的交换文件
所有者:我 日期:2013 年 9 月 30 日星期一 21:05:52
文件名:~foo/bar/foo.py
修改:无
用户名:me 主机名:主机名
进程ID:3635(仍在运行)
打开文件“foo.py”时
日期: 2013 年 9 月 28 日星期六 23:04:15
(1) 另一个程序可能正在编辑同一个文件。
如果是这种情况,请小心不要最终出现两个问题
进行更改时同一文件的不同实例。
退出,或谨慎继续。
(2) 该文件的编辑会话崩溃。
如果是这种情况,请使用“:recover”或“vim -r foo.py”
恢复更改(请参阅“:帮助恢复”)。
如果您已经这样做了,请删除交换文件“.foo.py.swp”
以避免出现此消息。
交换文件“.foo.py.swp”已经存在!
谢谢。(我使用的是 mac os x )
说:
set shellcmdflag=-ic
Run Code Online (Sandbox Code Playgroud)
导致vim在尝试执行 shell 命令时打开交互式 shell。
为了打开交互式shell,它会挂起该vim进程。这解释了您所观察到的行为(两者[1]+ Stopped ...) 。Found a swap file ...
(您可以说fg从由此创建的 shell 恢复编辑器。)
如果您删除
set shellcmdflag=-ic
Run Code Online (Sandbox Code Playgroud)
从你的来看.exerc,你不会观察到这个问题。
| 归档时间: |
|
| 查看次数: |
2909 次 |
| 最近记录: |