官方 Vim python 界面 documentation状态,用 python 修改缓冲区非常简单,基本上:
:py import vim
:py vim.current.buffer[0] = "Hello world"
但是,当我尝试这样做时,python 会抛出异常:
Traceback (most recent call last):
File "<string>", line 1, in <module>
TypeError: bad argument type for built-in operation
只读访问(例如 :py print vim.current.buffer[0]
工作正常。我在这里遗漏了什么吗?为什么我不能用 python 脚本修改 vim 缓冲区?
[注意:我使用的是最新的 Vim 7.3]
最佳答案
对我有用,“Hello World”被插入到缓冲区中。你的vim是用+python
我使用的是 7.3.162 版本
编辑
在 hg 日志中查找 if_python.c
我看到很多与 python 相关的问题,例如这个:
changeset: 2641:b803b2776880
tag: v7-3-062
user: Bram Moolenaar <bram@vim.org>
date: Tue Nov 16 19:26:02 2010 +0100
files: src/auto/configure src/configure.in src/if_python.c src/if_python3.c src/version.c
description:
updated for version 7.3.062
Problem: Python doesn't work properly when installed in another directory
than expected.
Solution: Figure out home directory in configure and use Py_SetPythonHome()
at runtime. (Roland Puntaier)
你用的是哪个版本?
关于python - 如何使用 python 脚本修改 Vim 缓冲区?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6157222/