怎样在C语言中调用VIM的脚本程序

lyle_5 发布于 2013/04/15 17:12
阅读 441
收藏 0
Vim

我的想法是使用autocmd,在C语言中kill -9杀死VIM进程,在.vimrc中定义autocmd如下:

autocmd VimLeave * if v:dying | Somefunc() | endif
但是他不能成功执行。

当我在VIM中手动:qa,他可以正确执行我定义的函数。

有没有其他办法可以让我的程序能让VIM脚本工作。

使用autocmd是否可行,是我使用的有问题么。

希望大家能给与解答,多谢了。

加载中
0
开源中国首席辣条代理
开源中国首席辣条代理
进程被杀死不会产生VimLeave事件的.倒是可以考虑BufRead之类的事件.
0
lyle_5
lyle_5

引用来自“DeanSinaean”的答案

进程被杀死不会产生VimLeave事件的.倒是可以考虑BufRead之类的事件.
确实,我考虑过保存之后这个事件,但是C怎么能让VIM保存呢?自动保存?KILL的能自动保存么?
0
开源中国首席辣条代理
开源中国首席辣条代理

引用来自“lyle_5”的答案

引用来自“DeanSinaean”的答案

进程被杀死不会产生VimLeave事件的.倒是可以考虑BufRead之类的事件.
确实,我考虑过保存之后这个事件,但是C怎么能让VIM保存呢?自动保存?KILL的能自动保存么?

KILL 显然是不行,KILL只能导致进程中止,跟本不会保存文件,如果用BufRead是可以的,因为你一打开文件,就会执行一个BufRead操作.

看你的意思好像非要保存之后的,难道你可以通过C语言让vim执行编辑文件的操作吗?可以编辑的话,保存也不成问题吧.

0
lyle_5
lyle_5

引用来自“DeanSinaean”的答案

引用来自“lyle_5”的答案

引用来自“DeanSinaean”的答案

进程被杀死不会产生VimLeave事件的.倒是可以考虑BufRead之类的事件.
确实,我考虑过保存之后这个事件,但是C怎么能让VIM保存呢?自动保存?KILL的能自动保存么?

KILL 显然是不行,KILL只能导致进程中止,跟本不会保存文件,如果用BufRead是可以的,因为你一打开文件,就会执行一个BufRead操作.

看你的意思好像非要保存之后的,难道你可以通过C语言让vim执行编辑文件的操作吗?可以编辑的话,保存也不成问题吧.

不是这样,VIM是独立打开的,我的C代码检查正在运行的VIM进程,然后想要得到VIM正在编辑的文件的session和viminfo。
返回顶部
顶部