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

VIM中的自定义弹出菜单

发布时间:2020-12-16 01:18:22 所属栏目:安全 来源:网络整理
导读:使用 vim中的弹出菜单完成选项卡可以很好地使用正确的配置. http://vim.wikia.com/wiki/Make_Vim_completion_popup_menu_work_just_like_in_an_IDE 我有一小部分代码生成器和代码操作程序,我在vim中使用它.程序是: 1. initiate visual mode2. highlight tex
使用 vim中的弹出菜单完成选项卡可以很好地使用正确的配置.
http://vim.wikia.com/wiki/Make_Vim_completion_popup_menu_work_just_like_in_an_IDE

我有一小部分代码生成器和代码操作程序,我在vim中使用它.程序是:

1. initiate visual mode
2. highlight text
3. :'<,'>!hashify

我想利用vim弹出菜单提供一系列操作.

新程序将是:

1. initiate visual mode
2. highlight text
3. <Tab> -- select transform option from menu

是否有可用于此的vimscript接口?

插入模式完成弹出窗口可用于插入文本片段的选择.有两种方法可以实现它,请参阅:help complete-functions和:help complete().如果您的代码生成器返回要插入的单行(而不是太长)文本片段,您可以通过系统(…)调用生成器,然后将返回的值提供给完成函数.

另一方面,如果菜单选项不直接对应于插入的文本,而是战术选择或动作,大多数插件都会显示这样的选择菜单,其样式与内置菜单类似(例如来自:ilist):

:echohl Title
:echo 'Code fragments:'
:echohl None
:echo '1. foo'
:echo '2. bar'
:let choice = nr2str(getchar())
:if choice == 1 ...

然后,通过以下方式插入与选择对应的文本:normal! iText或setline().

由于您似乎需要从可视模式完成,您可以通过使用y开始映射来捕获所选文本.

(编辑:李大同)

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

    推荐文章
      热点阅读