python调用vim打开多个文件

python call vim open multiple files

我正在尝试从 python 脚本调用 vim 以打开多个文件。

files = []
for i in sys.argv[1:]:
    files.append(i)

string = " ".join(str(x) for x in files)
call(["vim", string])

当我调用 ./open.py 11 42 39 时,它只打开一个名为“11 42 39”的文件。

如何将它们作为单独的文件打开?

谢谢。

您需要将单独的文件作为列表中的单独项目:

call(["vim"] + files)

那是因为当你传递一个列表时,列表中第一个元素之后的每个元素都作为单独的参数提供给 vim。所以你只是给 vim 参数 "11 42 39"。该参数将不会在“”处拆分为三个单独的参数。

如果您想同时查看所有文件,您还可以将 -o 添加到对 vim 的调用中:

call(["vim", "-o"] + files)