跨多个文档的多行“查找和替换”Atom 编辑器

跨多个文档的多行“查找和替换”Atom 编辑器

我正在尝试替换网站的整个导航菜单部分,这意味着有多个文件需要更改,而 atom 编辑器中没有跨多个文件的多行“查找和替换”功能。我尝试了在 stack exchange 上找到的 Ctrl+E 建议,但这个快捷键对我来说不起作用。

有没有插件或其他东西可以让我做到这一点?如果没有,那么有人可以推荐一个可以的免费文本编辑器吗?我尝试在 Notepad++ 上使用我找到的多行替换插件,但它总是崩溃,也无法在多个文件中替换。编辑:即插件不会在多个文件中替换,而不是 Notepad++

提前致谢。

为 Toto 编辑:我正在尝试替换大约 77 个网页上的整个导航菜单。

       <div class="inner-nav desktop-nav">
        <ul class="clearlist">
            <!-- Item-->
                            <!-- End Item -->
            <!-- Item-->
            <li>
                <a href="index.html#main-slider" class="">Home</a>
            </li>
            <!-- End Item -->
            <!-- Item-->
            <li>
                <a href="about.html">About us</a>
            </li>
            <!-- End Item -->
            <!-- Item-->
            <li>
                <a href="index.html#news" class="">News</a>
            </li>
            <!-- End Item -->
            <!-- Item-->
            <li>
                <a href="products.html">Products</a>
            </li>
            <!-- End Item -->
            <!-- Item-->
            <li>
                <a href="career.html"> </a>
            </li>
            <!-- End Item -->
            <!-- Item-->
            <li>
                <a id="menu-contact" href="index.html&contact=true#contact">Contact us</a>
            </li>
            <!-- End Item -->
            <!-- Item-->
                            <!-- End Item -->
            <!-- Divider -->
            <li><a>&nbsp;</a></li>
            <!-- End Divider -->
            <!-- Search -->
            <!--<li>
              <a href="#" class="mn-has-sub"><i class="fa fa-search"></i> Search</a>
              <ul class="mn-sub">
                <li>
                  <div class="mn-wrap">
                    <form method="post" class="form">
                      <div class="search-wrap">
                        <button class="search-button animate" type="submit" title="Start Search">
                        <i class="fa fa-search"></i>
                        </button>
                        <input type="text" class="form-control search-field" placeholder="Search...">
                      </div>
                    </form>
                  </div>
                </li>
              </ul>
            </li>-->
            <!-- End Search -->
        </ul>
    </div>

尝试用下面的代码替换上面的代码。

   <div class="inner-nav desktop-nav">
        <ul class="clearlist">
            <li>
                <a href="index.html#main-slider" class="">Home</a>
            </li>
            <li>
                <a href="about.html">About us</a>
            </li>
            <li>
                <a href="index.html#news" class="">News</a>
            </li>
            <li>
                <a href="products.html">Products</a>
            </li>
            <li>
                <a id="menu-contact" href="index.html#contact">Contact us</a>
            </li>
        </ul>
    </div>

答案1

据我了解,您想要删除评论和一些特定的<li>

  • Ctrl+ Shift+F
  • 找什么:\s*<!--[\s\S]+?-->\s*(?=\R)|<li>\s+<a href="career.html">[\s\S]+?</li>|<li><a>&nbsp;</a></li>
  • 用。。。来代替:0
  • 筛选器:Whatever you want
  • 目录:Path\where\your\files\are
  • 用。。。来代替:LEAVE EMPTY
  • 查看 相符
  • 查看 正则表达式
  • 取消选中 . matches newline
  • Replace in Files

解释:

\s*                 # 0 or more spaces including linebreak
<!--[\s\S]+?-->     # a block of comments
\s*                 # 0 or more spaces including linebreak
(?=\R)              # positive lookahead, any kind of linebreak
|                   # OR
<li>\s+<a href="career.html">[\s\S]+?</li>      # specific <li>
|                   # OR
<li><a>&nbsp;</a></li>      # specific <li>

截图(之前):

在此处输入图片描述

截图(之后):

在此处输入图片描述

答案2

我找到了一个解决方案:Sublime Text,即使是“未注册的”,也有这个功能。

  1. 下载并安装 Sublime Text
  2. 安装完成后,打开 Sublime Text
  3. 在 Sublime Text 中打开要替换其中所有文本的文件夹
  4. 打开 Sublime Text 顶部上下文条中的查找菜单。
  5. 在刚刚打开的上下文条菜单项的下拉菜单中转到“在文件中查找”
  6. 点击“在文件中查找”
  7. 在当前打开的文件底部,会打开一个查找和替换菜单
  8. 将要替换的内容复制到查找文本框中
  9. 将您想要替换的内容复制到替换文本框中
  10. 点击 Sublime Text 窗口右下角的“替换”按钮

相关内容