小编Pau*_*ter的帖子

计算Vim中的出现次数而不标记缓冲区已更改

为了知道当前缓冲区中存在模式的次数,我做:

:%s/pattern-here/pattern-here/g
Run Code Online (Sandbox Code Playgroud)

它给出了模式的出现次数,但显然很麻烦,并且还具有设置"已更改"状态的副作用.

是否有更优雅的方式来计算?

vim

110
推荐指数
3
解决办法
4万
查看次数

忽略Python字符串中的大小写

在Python中比较字符串的最简单方法是什么,忽略大小写?

当然可以做(str1.lower()<= str2.lower())等,但是这创建了两个额外的临时字符串(具有明显的alloc/gc开销).

我想我正在寻找相当于C的stricmp().

[请求更多上下文,所以我将用一个简单的例子来证明:]

假设您要对looong字符串列表进行排序.你只需要做List.sort().这是O(n*log(n))字符串比较,没有内存管理(因为所有字符串和列表元素都是某种智能指针).你很快乐.

现在,您想要做同样的事情,但忽略这种情况(让我们简化并说所有字符串都是ascii,因此可以忽略区域设置问题).您可以执行List.sort(key = lambda s:s.lower()),但是每次比较会导致两个新的分配,加上垃圾收集器与重复(降低)字符串的负担.每个这样的存储器管理噪声比简单的字符串比较慢几个数量级.

现在,使用就地stricmp()函数,你可以:theList.sort(cmp = stricmp),它与theList.sort()一样快和内存友好.你又开心了.

问题是任何基于Python的不区分大小写的比较涉及隐式字符串重复,所以我期望找到基于C的比较(可能在模块字符串中).

找不到那样的东西,因此问题就在这里.(希望这澄清了这个问题).

python string case-insensitive

51
推荐指数
5
解决办法
10万
查看次数

如何在Windows下增加vim(其中CTRL-A不起作用......)

虽然CtrlX在Windows下的vim中工作正常,但CtrlA选择all(duh).

有没有办法在Windows下按键增加一个数字?

vim

20
推荐指数
3
解决办法
8611
查看次数

如何避免vim中大文件的语法高亮?

由于语法高亮,巨大的文件需要永远加载并在vim中使用.

我正在寻找一种限制突出显示文件大小的方法,这样大于(比方说)10MB的文件将是无色的.

vim colors vim-syntax-highlighting

19
推荐指数
3
解决办法
2855
查看次数

Python作为FastCGI在windows和apache下

我需要在一个带有windows/apache/FastCGI的现有系统下运行一个简单的请求/响应python模块.

python的所有FastCGI包装器我只尝试用于Linux(它们使用socket.fromfd()和其他类似的shticks).

是否有一个在Windows下运行的包装器?

python windows apache fastcgi

6
推荐指数
1
解决办法
3023
查看次数