小编Chi*_*nke的帖子

如何过滤视觉选择?

假设我们有一些很好的文本:

Hello world
Run Code Online (Sandbox Code Playgroud)

我们选择了world视觉模式.然后我们可以使用像这样的闪亮命令过滤视觉选择:

:'<,'>!echo foobar
Run Code Online (Sandbox Code Playgroud)

然而,这将取代整个线foobar而不仅仅是world.为什么会这样,我们怎样才能取代world

vim

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

哪些本机 python 模块是用 C 编写的?

我打算用 python 编写一个小型文本编辑器。因此,我需要一个快速的字符串操作/文本处理库,出于性能原因,最好用 C 编写。

我如何知道哪些 python 模块是在底层用 C 编写的?

c python

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

如何创建可用作实际字符串的可变字符串类?

我想创建一个表示字符串的python类,但可以有效地修改.我考虑过实现一个树状数据结构,但我不知道如何让它像字符串一样运行,这样它就可以用在所有类型的字符串函数中,例如在正则表达式中.

当然,每次需要时都可以从数据结构构造一个字符串,但这不是非常有效,并且浪费了数据结构的效率.

有任何想法吗?

python string mutable

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

如何匹配使用正则表达式的段落

我一直在努力使python正则表达式试图匹配文本中的段落,但我没有成功.我需要获得段落的开头和结尾位置.

文本示例:

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod
tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At
vero eos et accusam et justo duo dolores et ea rebum. 

Stet clita kasd gubergren,
no sea takimata sanctus est Lorem ipsum dolor sit amet.

Ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod
tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At
vero eos et accusam …
Run Code Online (Sandbox Code Playgroud)

python regex paragraph

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

如何让babun/cygwin主目录等于windows主目录?

我刚刚安装了一个Cygwin的变种babun.我希望cygwin用户主目录等于我的Windows主目录.所以,要清楚,我不想将cygwin主页添加到C:\Users新用户,我希望它与我当前的Windows主目录相同.

现在,根据这篇文章,如何在安装后更改我的Cygwin主文件夹?,有一个简洁的方法使cygwin主目录指向您的Windows主目录.您打开文件/etc/nsswitch.conf并确保有一行db_home: windows.然而,重新启动我的电脑后, echo $HOME仍然说/home/chiel.tenbrinke,这不应该是什么.应该说类似的东西/cygdrive/c/Users/Chiel.tenBrinke.

为什么这不起作用?

我的cygwin版本是CYGWIN_NT-6.1-WOW IM-Chiel-2015 1.7.35(0.287/5/3) 2015-03-04 12:07 i686 Cygwin.

windows cygwin windows-7 home-directory

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

Python:计算列表的笛卡尔幂的最短方法

假设我们有一个清单L.笛卡儿积L x L可以这样计算:

product = [(a,b) for a in L for b in L]
Run Code Online (Sandbox Code Playgroud)

如何L x L x L x ... x L以短而有效的方式计算笛卡尔幂(n次,对于给定的n)?

python product list cartesian

4
推荐指数
1
解决办法
1234
查看次数

在cython中调用gcc内置?

我想在cython sourcefile()中调用gcc内置函数,例如__builtin_ffs.pyx

cpdef int ffs(long b):
    return __builtin_ffs(b);
Run Code Online (Sandbox Code Playgroud)

可能吗?如果是这样,怎么样?

c gcc cython

4
推荐指数
1
解决办法
193
查看次数

如何通过空字符使grep单独输出?

假设我们正在对一堆文件进行多行正则表达式模式搜索,并且我们想从 grep 中提取匹配项。默认情况下,grep 输出由换行符分隔的匹配项,但由于我们使用的是多行模式,这会造成我们无法轻松提取单个匹配项的不便。

例子

grep -rzPIho '}\n\n\w\w\b' | od -a
Run Code Online (Sandbox Code Playgroud)

根据文件树中的文件,这可能会产生类似的输出

0000000   }  nl  nl   m   y  nl   }  nl  nl   i   f  nl   }  nl  nl   m
0000020   y  nl   }  nl  nl   m   y  nl   }  nl  nl   i   f  nl   }  nl
0000040  nl   m   y  nl
0000044
Run Code Online (Sandbox Code Playgroud)

如您所见,我们无法拆分换行符以获得进一步处理的匹配项,因为匹配项本身包含换行符。

什么不起作用

现在--null(or -Z) 仅与 结合使用-l,这使得 grep 仅列出文件名而不是匹配项,因此这在这里无济于事。

请注意,这不是find 的 -print0 和 xargs 的 -0 开关是否有等价的 grep的副本,因为该问题的要求不同,因此可以使用替代技术来回答。

那么,我们怎样才能做到这一点呢?也许将 grep …

unix bash grep text-processing null-character

4
推荐指数
1
解决办法
1557
查看次数

如何在不限于一个文件的情况下在F#中实现访客模式?

以下代码示例演示了F#中访客模式的实现

module VisitorPattern

    type IVisitor =
        abstract Visit : ObjectA -> unit
        abstract Visit : ObjectB -> unit

    and IVisitable =
        abstract InvokeVisit : IVisitor -> unit

    and ObjectA =
        interface IVisitable with
            member this.InvokeVisit (visitor: IVisitor) =
                visitor.Visit(this)

    and ObjectB =
        interface IVisitable with
            member this.InvokeVisit (visitor: IVisitor) =
                visitor.Visit(this)

    type MyVisitor =
        member this.Visit (a : ObjectA) =
            printfn "Visited object A"

        member this.Visit (b : ObjectB) =
            printfn "Visited object B"
Run Code Online (Sandbox Code Playgroud)

这样可以很好地编译,但是IVisitable由于使用了and关键字,我们只能在一个文件中实现所有类型。该关键字似乎对于允许相互类型引用是必需的。

有没有一种方式可以实现这种模式,使我们不限于一个文件? …

f# visitor-pattern

4
推荐指数
1
解决办法
132
查看次数

如何动态源脚本?

如何获取文件名包含在变量中的vim脚本?

就像:source,除了参数不是字符串文字,而是变量名.

vim

3
推荐指数
1
解决办法
1672
查看次数