什么';在vim插件中传递未保存的缓冲区的最佳方法是什么?
我正在写一个基于clang的vim插件来自动完成;我意识到还有其他插件可以做类似的事情,但它们都不能满足我的特定需求(宏扩展) 无论如何,解析文件的ClangAPI需要一组变量,包括当前打开文件的未保存缓冲区 例如,您同时传入文件的已保存副本和当前未保存的缓冲区,因此您可以(例如)在键入时自动完成,而不是仅在保存操作之后 所以,我的问题是: 获取vim插件中未保存的原始缓冲区并将其传递给外部可执行文件的最佳方法是什么? 突然想到各种各样的解决办法什么';在vim插件中传递未保存的缓冲区的最佳方法是什么?,vim,plugins,Vim,Plugins,我正在写一个基于clang的vim插件来自动完成;我意识到还有其他插件可以做类似的事情,但它们都不能满足我的特定需求(宏扩展) 无论如何,解析文件的ClangAPI需要一组变量,包括当前打开文件的未保存缓冲区 例如,您同时传入文件的已保存副本和当前未保存的缓冲区,因此您可以(例如)在键入时自动完成,而不是仅在保存操作之后 所以,我的问题是: 获取vim插件中未保存的原始缓冲区并将其传递给外部可执行文件的最佳方法是什么? 突然想到各种各样的解决办法 将当前缓冲区写入临时文件,并将对临时文件的引用传
我喜欢使用共享内存段的想法,纯粹是因为这将使插件速度极快,但我看不到任何方法可以以便携方式实现这一点。将缓冲区传递到外部程序的建议方法是
:w
,例如:
%w !cat -v
确保在w
和之间
是一个空格:w代码>具有不同的含义