首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Vim plugin --命令模式下参数的自定义自动补全

Vim plugin --命令模式下参数的自定义自动补全
EN

Stack Overflow用户
提问于 2012-09-28 16:08:50
回答 1查看 2.8K关注 0票数 8

我正在编写我的第一个vim插件(viml + python)。该插件的一个命令是"GetStepCommand()“,它基本上是从远程数据源获取数据,我对数据进行了一点处理并将其复制到缓冲区中,这样用户就可以开始编辑它了。用户必须向"GetStepsCommand“提供一个参数,即数据所在位置的搜索路径,例如: /projects/procedure/step

现在,这条路可能很长,而且很容易错过拼写某些东西。所以我想为参数部分实现我自己的制表符补全。Vim已经负责通过Tab键自动完成命令,但它当然不知道如何完成参数(这件事我会自己解决)。

但首先我需要知道:-如果/如何在命令模式下拦截按键-获取/获取用户当前正在编写的命令行-测试是否处于命令模式或插入/查看模式-最后返回更新后的命令行(制表符已完成),用户可以在按键后继续在该命令行上书写。

任何指针,提示,文章,教程...也就是说,信息非常受欢迎

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-28 16:57:37

当您的自定义命令的参数是文件系统路径时,只需将-complete=file添加到您的:command定义中,如下所示:

代码语言:javascript
复制
:command -nargs=1 -complete=file MyCommand echomsg <q-args>

您不需要在命令行模式中截取按键(您也不应该这样做,因为这将导致与其他插件的不良交互!)Vim提供其他默认完成功能(参见:help :command-complete),甚至是一个自定义的,其中调用Vimscript函数来确定候选补全。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12636068

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档