Linux--基础知识点--4.3--了解vimscript

it2023-06-06  77

1.vimscript调用python的函数

以下参考使用python开发vim插件及心得分享

vim有各种强大的插件,这不仅归功于其提供的用来编写插件的脚本语言vimL,还得益于它良好的接口实现,从而支持python等语言编写插件。

当vim编译时带有+python特性时就能使用python2.x编写插件,+python3则支持python3.x,可以使用

vim --version来查看vim的编译特性。用vim --version | grep +python查看输出,否则你可能要重新编译安装vim。

要使用python接口,可以用:h python来查看vim提供的帮助文档,本文做一个简单的介绍。我们都知道在vim里可以执行bash命令,只需要:!command即可,那么vim里可以执行python语句吗?当然可以了,vim那么强大!不是吗,是吗?!

vim中执行python命令

在vim中可以使用py[thon] {stmt}来执行python语句{stmt},你可以用:python3 print(“Hello World!”)来验证一下。

只能执行一条语句,没什么用,不是吗?所以有更加强大的接口,语法如下:

py[thon]3 << {endmarker} {script} {endmarker}

这样我们就可以执行python脚本{script}中的内容了。{endmarker}是一个标记符号,可以是任何内容,不过{endmarker}后面不能有任何的空白字符。看一个简单的例子,假设下面代码保存为script_demo.vim:

function! Foo() python3 << EOF class Foo_demo: def __init__(self): print 'Foo_demo init' Foo_demo() EOF endfunction

那么在vim中我们先用:source path_to_script/script_demo.vim来加载脚本,然后就可以用:call Foo()来运行python脚本了。

此外,我们还可以将python脚本放到一个单独的.py文件中,然后用pyf[ile] {file}来运行python文件中的程序,要注意这里pyf[ile]后面的所有参数被看做是一个文件的名字。

1.1 !的作用

定义 function时加了一个’!'号

function! Foo()

这’!'是表示在多次source的过程中强制覆盖之前重复的function

2.设置和查看python默认库。

2.1 export PYTHONPATH=$PYTHONPATH:/app/esb/sbin/lib

2.2 或者在python脚本中加入以下语句

sys.path.append(’/home/xxxx/yyyy/’) /home/xxxx/yyyy为lib所在目录

最新回复(0)