问题标签 [ultisnips]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
48 浏览

python - 从在线 xml 中获取价值

我想从这里获取“最新”版本标签的值:https ://papermc.io/repo/repository/maven-public/com/destroystokyo/paper/paper-api/maven-metadata.xml

我尝试使用这个 python:

问题是,在 vim 内部使用这个(我正在尝试用它制作 UltiSnips 片段)会使整个 vim在代码完成运行后变得非常慢。

是什么导致我的程序在我添加 ^^ 代码时变慢?

0 投票
0 回答
387 浏览

python - UltiSnips 生成带有固定大小框环绕文本的 python 文档字符串

我正在尝试创建一个片段,让我为 python 文档字符串生成一个很好的模式,例如这个:

我希望标题在图案中居中,周围的空间扩大到固定大小。对于下面的内容,我希望每一行都以“#”模式开头,并以相同的模式结束。我再次希望内容行具有固定大小。在 Honza pythonx和他的all.snippets的启发下,我设法完成了片段的标题部分。

我目前拥有的代码如下(请注意它可能有点脏,因为我仍在弄清楚):

此代码按预期工作并生成我想要的标题。所以我试图将概念扩展到内容部分并写了以下内容:

现在这几乎可以按照我的意愿运行,除了第一个视觉部分似乎链接到第二个视觉部分,并且修改标题会改变内容最初显示的方式。写内容不会改变标题,我可以站起来。

所以我有两个问题:如何取消片段的这两个部分的链接,以便它们相互独立,以及如何在编写内容时生成内容行?我想一种方法是每次用户按下跳转快捷方式时生成一个新的 content_line ,但我不知道该怎么做。

0 投票
1 回答
439 浏览

regex - 如何在 vimscript 或 UltiSnips 中扩展当前文件名而不使用“测试”

我正在编写一个片段,我需要在 vimscript 中获取当前文件名。我可以很高兴地做到这一点expand('%:t:r')如图所示)。但是,我不仅想从文件名中排除“.js”,还想排除“.test”。

例如

如果在myName.test.js,我想抓住 'myName'

如果在myName.js,我也想抢 'myName'

我这样做是为了创建一个 UltiSnips 片段,因此其他方法(例如正则表达式)也很有用

0 投票
1 回答
160 浏览

vim - 为什么 if 可以在 vim-snippets 和 ultisnips 中扩展而不是 ifee?

我已经安装vim-snippetsultisnips使用插件管理器 -pathogen这样。

中设置配置.vimrc

if ife ifee我在我的 python.snippets 中列出了结构。

现在是时候test.py用 vim 编辑文件了。

输入#!和按tab可以展开成:

输入if和按tab可以展开成:

为什么 Inputifee和 presstab可以在我的 vim 中扩展为空?

在此处输入图像描述

0 投票
1 回答
273 浏览

optional - UltiSnips:如何使占位符可选

我必须创建如下所示的内容:

请注意,该部分[fragile]是可选的。也就是说,如果我在$1占位符中输入一些文本,它应该包括括号。如果我不在$1占位符中输入文本,我根本不需要括号。

我不确定如何使$1占位符成为可选。到目前为止,我已经创建了这个片段,它可以完成除可选部分之外的所有操作。

如何制作一个在没有给出文本时消失的可选占位符?

0 投票
2 回答
1248 浏览

vim - 为什么 UltiSnips 列出的可用片段不起作用?

我想使用简单的按键列出可用的片段。但是我似乎无法做到这一点。这是我的 UltiSnips 设置:

我确实安装了vim-snippets和一些我自己定义的片段。

当我按下 时没有任何反应CTRL-;。我尝试将映射更改为各种不同的击键,但没有任何反应。我以为我正在使用的其他一些插件会干扰所选的击键,所以我已经更改了很多次,但仍然没有得到列表。无论我有什么设置,我都看不到片段列表。

我必须调用什么魔法才能查看片段列表?

0 投票
0 回答
585 浏览

python - UltiSnips 在 vi​​m 中不起作用:E887:抱歉,此命令已禁用,无法加载 Python 的站点模块

操作系统:Windows 10

vim 版本:vim8.1

插件管理器:vim-plug

我已经使用 vim-plug 成功安装了以下插件: _vimrc

我使用Anaconda3创建了一个名为VimEnv的新环境,并配备了32位python2.7版本。在cmd中,我输入:

conda 激活 VimEnv

gvim exa.tex

但是一旦我输入键“i”并进入插入模式,那么我输入任何内容都会导致错误: 在此处输入图像描述 如果我输入

:py 导入系统

它也会出现错误 E887。

看来问题是插件不能使用python。


我试过的其他一些信息:在我使用32位python之前,我使用了64位python并且vim找不到它(出现找不到python27.dll的错误)。我google了一下,发现它应该使用32位python,然后找不到python27.dll的错误消失了。

输入

:版本

在 vim 我得到

+蟒蛇/动态

+python3/dyn

.

我也尝试在 32 位 python3.6 环境中运行 gvim,但情况变得更糟,当我在插入模式下输入任何字符时,它就退出了。

0 投票
0 回答
162 浏览

bash - Ultisnips 中的制表位无法与 zsh 一起正常工作

我最近从 bash 切换到 zsh,现在我的 Ultisnips-snippets 中的制表位不再正常工作。

我没有更改我的片段文件中的任何内容,在我第一次遇到问题后,我回到 bash,从那里启动 vim,片段再次按预期工作。

我有这些片段

如果我从 bash 运行 vim 并键入mk,它将扩展到

(我将用 表示光标位置Cursor)。然后我可以输入f(,它会扩展为

如果我按下x然后tab它会带我到

(我将把这称为上一步S)。再按tab一下我会到达

但是,从 zsh 运行 vim,我仍然可以执行这些步骤,直到S但如果我然后按tab,它将停留在

然后开始插入标签。但是,如果我只这样做mk并键入不带括号的其他内容,例如ab

然后按tab,它将按预期工作并让我

有人知道这里发生了什么吗?如果我想继续使用 zsh 和 Ultisnips,我该怎么办?如果我运行bash -c 'vim file.txt',vim 会运行得很慢并且滞后很多,所以这不是一个真正的选择。任何帮助,将不胜感激。

编辑:显然问题与我使用的 vim 版本有关。我使用 macOS,我描述的问题发生在我使用默认 vim 版本时。如果我使用自定义编译的 vim 版本,它会按预期工作。事实证明,我有一些配置文件告诉 bash 使用自定义编译的版本,而 zsh 仍然使用默认版本。我还在我的电脑(运行 Ubuntu)上尝试了它,并且在那里安装了 vim 版本,它也可以工作。所以我想,我会使用我自定义编译的 vim 来避免这个问题......

但是有人知道,什么 vim 设置可能对此负责?如果我没记错的话,我的自定义编译版本只是 vim 的功能强大的版本。

0 投票
1 回答
241 浏览

python - Ultisnips:使用单个 ex 命令禁用某些剪辑的选项?

我正在写Latex,最近发现了以下一些片段:

对于我的逻辑类,我们使用符号 v(u/y) 来表示某些东西,但我不希望 u/y 实际上成为分数。通常我所做的只是暂时注释掉这些片段,对于我的概率类,当我确实想要分数时,取消注释它们。

显然,这是对 Ultisnips 实用性的讽刺。我怎样才能让我的生活更轻松,例如,只需发出一个简单的 ex 命令来注释掉这些东西(而不注释掉我的 tex.snippets 的其余部分)?还有其他方法可以让我的生活更轻松吗?

0 投票
1 回答
81 浏览

vim - 我们可以结合使用 Vim Plugins: Ultisnips 和 youcompleteme 来使用库函数原型吗

我正在使用 Ultisnips 和 youcompleteme 插件。在我的 C++ 项目中,我设置了(CMAKE_EXPORT_COMPILE_COMMANDS=ON),它根据上下文为我提供智能感知完成。

我想使用youcompleteme提供的“补全”结果,并将其作为片段跳转到不同的必填字段。

例如(opencv c++):

因此,当我选择任何提供的完成选项时,应该插入整个函数原型,并且我应该能够跳过参数(片段字段)来输入值。

一般来说,我们可以为任何第三方库做到这一点。

参考图片: ycmCompletion