python - 如何使用 python 脚本修改 Vim 缓冲区?

标签 python vim

官方 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/

相关文章:

python - Tensorflow 2.0 stack() 引发未初始化的张量错误

vim - 如何在vim中复制一组连续的非空字符

python:比较两个列表并按顺序返回匹配项

java - 如何使用 javacomplete 完成用户定义的类方法

vim 键映射到现有键

Vim:替换行尾

Vim 复制行号?

python - 通过 scipy.misc.imsave 将图像保存为 tif 时如何指定 dpi?

python - 无法删除 Django 中特定条目的缓存

python - 在 seaborn barplot 中绘制 value_counts()