vim - 如何在 gVim 中正确使用 vim.eval()?

标签 vim

gVim 允许编写可通过调用 vim.eval() 与 gVim 交互的 Python 代码。它适用于简单的情况,例如:

:py import vim; print(vim.eval("2 + 2"))

但是如果我尝试一些更有用的东西,例如,改变一个选项的值,像这样:

:py import vim; vim.eval("set runtimepath=~/.vim")

它总是因“E121: undefined variable :设置”错误而失败。

我的代码有问题还是 vim.eval() 根本不打算在基本的“2+2”评估之外使用?

最佳答案

vim.eval() 方法将给定的参数计算为 Vim 表达式。至 执行 Vim 命令,调用 vim.command() 方法,

:py import vim; vim.command("set runtimepath=~/.vim")

参见 :help python-eval:help python-command

关于vim - 如何在 gVim 中正确使用 vim.eval()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8571944/

相关文章:

vim - Vim中的<C-w>键是什么?

php - 添加 XDEBUG_SESSION_START cookie/变量的更简单方法?

vim - 阻止 vim 函数中的替换泄漏到所有替换的历史记录中

vim - 在 vim/vi 中添加自定义键映射的最佳方法是什么? (是否存在用于自定义的未绑定(bind)键空间?)

vim - 根据我处于插入模式还是普通模式,如何在 vim 中更改光标样式?

regex - 如何在 vimscript 或 UltiSnips 中扩展没有 'test' 的当前文件名

vim - 有没有办法让 IdeaVIM 遵循我的 .vimrc 文件中的映射?

vim - 如何在具有长 html 内容的 HTML vim 中跳转到标签的开头

vim - 在 autocmd 中重新加载 .vimrc 会中断电力线

vim - snipmate 无法在 vim 中工作