繁体   English   中英

如何在VIM中搜索不匹配的模式

[英]How to search not matching pattern in VIM

这是我的.py文件的摘录:

for i in range(1,nxs-2):
    for j in (1, nts-2):
        dg_cc(dg,sina,cosa,s,r2tanb,omega,L,n,m,xs[i],ts[k],pd)
        dot( dg,F,c1,transa=T )
        dot( c1, dg, ansK1, N, N, alpha=2., beta=1. )
        # linear buckling part
        g = g_cc(m,n,L,xs[i],ts[j],pd)
        Bg = fBg(Bg,cosa,s,L,m,n,xs[i],ts[i],pd)
        dot( g, Bg, ansK1, T, N, alpha=2., beta=1. )
        #
        if pd:
            fdg0(dg0,sina,cosa,s,r2tanb,omega,L,xs[i],ts[j])
            dot( dg0, F, c2, transa=T )
            dot( c2, dg, ansK0, N, N, alpha=2., beta=1. )
for i in (1, nxs-2):
    for j in range(1,nts-2):
        dg_cc(dg,sina,cosa,s,r2tanb,omega,L,n,m,xs[i],ts[n],pd)
        dot( dg,F,c1,transa=T )
        dot( c1, dg, ansK1, N, N, alpha=2., beta=1. )
        # linear buckling part
        g = g_cc(m,n,L,xs[i],ts[j],pd)
        Bg = fBg(Bg,cosa,s,L,m,n,xs[i],ts[j],pd)
        dot( g, Bg, ansK1, T, N, alpha=2., beta=1. )

我必须修复所有的拼写错误,只保留ts[j]并修复那些ts[i]ts[n]

我如何建立我的搜索模式,以便到达ts[something] something NOT equal j

你可以尝试一下,看看它是否适合你的要求?

/ts\[[^j]\]

如果您想要否定的模式是多个字符,则可以使用否定前瞻。 如果模式与当前位置不匹配,则匹配。

/ts\[\(j\)\@!.\{-}]

或者非常神奇

/\vts\[(j)@!.{-}]

@!之前,模式被否定的地方@! 在这种情况下, j .{-}是一个非贪婪的匹配,用于匹配所有内容直到下一个方括号。

以下内容对您有用:

/ts[[][^j]]

或逃避[

/ts\[[^j]]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM