小编Geo*_*nig的帖子

gvim:轻松复制到系统剪贴板

我在Ubuntu 10.10上使用gVim.我想将(yank)文本复制到系统剪贴板,以便复制的文本在其他应用程序中可用.

这适用于"+y.但我想让它合作y.

我试图映射y"+y但后来yy不再工作(因为它产生"+y"+y).

我也尝试了 :set clipboard=unnamed 但这只适用于另一个方向:我可以粘贴的系统剪贴板中的文本p.

vim clipboard ubuntu-10.10

25
推荐指数
3
解决办法
2万
查看次数

检查string是否是Javascript RegExp的前缀

在Javascript中,我定义了一个正则表达式,现在用户正在键入一个字符串.我想告诉他,如果他的字符串仍然可以与RegExp匹配,如果他继续打字或者他已经走错了路.例如:

var re = /a*b/;

"a".isPrefixOf( re ); // true
"x".isPrefixOf( re ); // false
Run Code Online (Sandbox Code Playgroud)

一个实现isPrefixOf怎么样?

更新:感谢您的回答,正如brad建议的那样使正则表达式前缀保证似乎是一个很好的解决方法.但我仍在努力找到一个通用的解决方案.

也许这样:我们创建一个新的正则表达式,后跟用户输入.*.此正则表达式描述了用户仍可输入的所有单词.如果此创建的正则表达式与原始正则表达式的交集为空,则表示用户已经错误.如果不是,他表现得很好.例如:

var re = /a*b/;
var sInput = "a";
var reInput = new RegExp( sInput + ".*" );

reIntersection = re.intersect( reInput );
reIntersection.isEmpty(); // false
Run Code Online (Sandbox Code Playgroud)

intersect()返回只接受这两个词一个新的正则表达式re,并reInput会接受.该功能尚不存在,但我们可以使用预测来实现它:

RegExp.prototype.intersect = function( pattern2 ) { 
    return new RegExp( '(?=' + this.source  + ')' + pattern2.source );
}
Run Code Online (Sandbox Code Playgroud)

剩下的就是isEmpty()功能.如果Javascript正则表达式匹配任何单词或它是否为空,我们如何检查?

javascript regex prefix

13
推荐指数
2
解决办法
5012
查看次数

如何在 Rollup.js 中进行缓存破坏?

我的项目中,我需要做缓存破坏,因为在新部署之后,浏览器通常只重新加载 HTML 而不是 JS 和 CSS 文件。

目前,我没有以任何方式构建 HTML,它只是已经位于公共目录中。

最简单的方法似乎是在 JS 引用中添加时间戳:

<script type="module" src="bundle/index.js?ts=20201026-102300"></script>
Run Code Online (Sandbox Code Playgroud)

现在,在已经使用rollup.js的项目中实现这一目标的最佳方法是什么?

我见过@rollup/plugin-html,但我对其文档中的示例感到困惑,因为它需要一个 JS 文件作为输入:

 input: 'src/index.js',
Run Code Online (Sandbox Code Playgroud)

那应该是什么JS文件?

相反,我希望需要定义

  • 一个输入 HTML 文件
  • 一些代码空间来设置时间戳变量
  • 输出 HTML 文件

那么最好的方法是什么,是使用@rollup/plugin-html还是其他方法?

javascript browser-cache rollupjs

5
推荐指数
1
解决办法
496
查看次数