我正在尝试替换网站的整个导航菜单部分,这意味着有多个文件需要更改,而 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> </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> </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> </a></li> # specific <li>
截图(之前):
截图(之后):
答案2
我找到了一个解决方案:Sublime Text,即使是“未注册的”,也有这个功能。
- 下载并安装 Sublime Text
- 安装完成后,打开 Sublime Text
- 在 Sublime Text 中打开要替换其中所有文本的文件夹
- 打开 Sublime Text 顶部上下文条中的查找菜单。
- 在刚刚打开的上下文条菜单项的下拉菜单中转到“在文件中查找”
- 点击“在文件中查找”
- 在当前打开的文件底部,会打开一个查找和替换菜单
- 将要替换的内容复制到查找文本框中
- 将您想要替换的内容复制到替换文本框中
- 点击 Sublime Text 窗口右下角的“替换”按钮