小编mwc*_*wcz的帖子

通过语法高亮类型进行vim搜索

我正在将i18n添加到现有项目(Web应用程序)中.这涉及通过调用i18n库来替换每一位静态文本.能够搜索此文本而不是依靠语法突出显示来直观地识别它将是方便的.

在vim中,是否可以在文件中搜索特定突出显示类型的出现?

像这样的东西:

/[%type=Boolean]
Run Code Online (Sandbox Code Playgroud)

带有'Comment','htmlTag'或语法高亮文件中定义的任何组的子'布尔'.

vim search syntax-highlighting

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

BeautifulSoup 可以保留 CDATA 部分吗?

我正在使用 BeautifulSoup 读取、修改和写入 XML 文件。我在删除 CDATA 部分时遇到了麻烦。这是一个简化的示例。

罪魁祸首 XML 文件:

<?xml version="1.0" ?>
<foo>
    <bar><![CDATA[
        !@#$%^&*()_+{}|:"<>?,./;'[]\-=
    ]]></bar>
</foo>
Run Code Online (Sandbox Code Playgroud)

这是 Python 脚本。

from bs4 import BeautifulSoup

xmlfile = open("cdata.xml", "r") 
soup = BeautifulSoup( xmlfile, "xml" )
print(soup)
Run Code Online (Sandbox Code Playgroud)

这是输出。请注意缺少 CDATA 部分标记。

<?xml version="1.0" encoding="utf-8"?>
<foo>
<bar>
        !@#$%^&amp;*()_+{}|:"&lt;&gt;?,./;'[]\-=
    </bar>
</foo>
Run Code Online (Sandbox Code Playgroud)

我也尝试打印soup.prettify(formatter="xml")并得到相同的结果,但空白略有不同。关于在 CDATA 部分中阅读的文档并不多,所以也许这是一lxml件事?

有没有办法告诉 BeautifulSoup 保留 CDATA 部分?

更新是的,这是一个 lxml 的事情。 http://lxml.de/api.html#cdata 那么,问题就变成了,是否可以告诉 BeautifulSoup 用 初始化 lxml strip_cdata=False

python xml lxml beautifulsoup cdata

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

使用<CY>滚动vim一秒延迟; 禁用插件的映射

在过去的几个月里,当我尝试向上滚动一行时,我遇到了一个奇怪的一秒延迟<C-Y>.用<C-U>或没有这样的延迟<C-B>.

我扫描了所有的映射,我相信我已经缩小到ZenCoding插件,它有几个正常的模式映射,<C-Y>然后是一个字母.显然,按一个字母的等待时间是一秒钟,如果没有按下任何字母,它将继续默认<C-Y>行为.

在我的vimrc中,有没有办法禁用特定插件的所有普通模式映射,或者将特定映射重置为默认状态?

vim vim-plugin

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

是否可以从Ant启动Gradle任务?

我正在研究Ant的替代品.我看过GantGradle.

是否可以从Ant启动Gradle任务?这可以在Gant中使用taskdef.

<taskdef
    name         = "gant"
    classname    = "org.codehaus.gant.ant.Gant"
    classpathref = "classpath" 
    />

<gant />
Run Code Online (Sandbox Code Playgroud)

Gradle有类似的东西吗?我很想开始从Ant迁移到Gradle,但我们有一个大型的Ant基础架构,我创建的任何Gradle构建脚本都需要从Ant调用.

谢谢!

ant build-automation gradle

2
推荐指数
1
解决办法
4930
查看次数

在ColdFusion中管理线宽

如果你使用ColdFusion,你可能已经习惯了换行或水平滚动.不常见,这并不是那么糟糕,但是当现有代码库中的四行中有三行被包装时,有时两次,这就成了一个巨大的可读性障碍.

像......这样的一条线

<cffunction name="v_multiple_item" access="public" output="false" returntype="query">
Run Code Online (Sandbox Code Playgroud)

很容易被HTML分解成

<cffunction name       = "v_multiple_item" 
            access     = "public" 
            output     = "false"
            returntype = "query" 
            >
Run Code Online (Sandbox Code Playgroud)

在良好的编辑器中使用宏自动化相当容易.我更关心的是穿插ColdFusion和HTML,如下所示:

<cffunction..>
    <cfif..>
        <cfif..>
            <form..>
                <div..>
                    <table..>
                        <tr..>
                            <td..>
                                <cfif..>
                                    <select..>
                                        <cfoutput>
                                            <option>#stuff#</option>
                                        </cfoutput>
Run Code Online (Sandbox Code Playgroud)

我看到在空白区域内换行的8-sp选项卡的代码行并不少见.

减少标签宽度还不够.代码库太大,无法重写/框架化.左倾齐射一切?

是否有一个简单的,成功的策略,可以将线宽减小到可管理的水平,而不会进一步损害可读性?

vim coldfusion whitespace coding-style

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

抑制vim autocmd的输出?

我有一个简单的BufWritePostautocmd来从我的vimwiki页面自动生成HTML.

autocmd BufWritePost *.wiki VimwikiAll2HTML
Run Code Online (Sandbox Code Playgroud)

但它吐出了很多进度输出,并在最后提示:

Press ENTER or type command to continue
Run Code Online (Sandbox Code Playgroud)

有没有办法抑制输出并从vim autocmd提示,使其完全透明?

vim

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