加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Vim插件 – 在命令模式下自定义自动完成params

发布时间:2020-12-16 01:15:00 所属栏目:安全 来源:网络整理
导读:我正在编写我的第一个 vim插件( viml python). 该插件的一个命令是“GetStepCommand()”,它基本上从远程数据源获取数据,我稍微按下数据并将其复制到缓冲区中,以便用户可以开始编辑它. 用户必须提供一个参数“GetStepsCommand”,这是数据所在的搜索路径,例如
我正在编写我的第一个 vim插件( viml python).
该插件的一个命令是“GetStepCommand()”,它基本上从远程数据源获取数据,我稍微按下数据并将其复制到缓冲区中,以便用户可以开始编辑它.
用户必须提供一个参数“GetStepsCommand”,这是数据所在的搜索路径,例如:/ projects / procedure / step

现在,这条路可能很长,很容易错过拼写的东西.
所以我想为参数部分实现自己的tab-completion.
Vim已经通过Tab键自动完成命令,但当然它不知道如何完成参数(我将自己解决).

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

任何指针,提示,文章,教程……即非常感谢信息

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

你不需要在命令行模式下拦截按键(你不应该,因为这会导致与其他插件的错误交互!)Vim提供其他默认完成(cp.:help:command-complete),甚至是自定义一个调用Vimscript函数来确定候选完成的函数.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读