假设我们有这样一个xml文件:
<tag1>
somthing here
</tag1>
<tag2>
somthing here
</tag2>
<region>
autocomplete here
</region>
每当光标在region标记中时,我希望自动完成c-n
和c-x c-l
被限制在一些自定义选项中,例如:
使用c-n
:
myword1, myword2, myword3, myword4
使用c-x c-l
:
myline1
myline2
myline3
myline4
有可能吗
首选python解决方案
Tags:
是的,一个自定义的完成函数可以做到这一点
取决于位置的固定值
Vim对一组固定的单词cp.
:help i_CTRL-X_CTRL-K
有字典完成。要根据位置配置不同的集合,:autocmd CursorMoved,CursorMovedI
可以更改底层的'dictionary'
选项或者,您可以编写一个定制的完成函数,如
CompleteMonths()
下的:help complete-functions
示例取决于Vim范围的动态值
我的CompleteHelper plugin使编写自定义完成变得非常容易。使用
\%l
这样的正则表达式原子,可以限制找到匹配项的范围。这个插件页面有几个用它编写的自定义补全的链接动态值取决于XML结构
为了只从某些XML标记中获取匹配项,我们正在从一般的文本编辑转向类似IDE的特性。您可能需要一个外部XML解析器(因为通过正则表达式解析XML是not possible),但是可以按照上面给出的定制完成函数的方法进行
相关问题 更多 >
编程相关推荐