1

希望对某人来说是一个不错的快速。我正在开展一个项目,该项目需要在大约 400 个左右的位置编写特定链接。每个链接都是相同的,只是其中包含城镇名称,例如:

<li><a href="/contact-details.html?location=Andover">Andover</a></li>

我目前正在使用 Komodo Edit 来编写我的项目,并且我安装了 Zen Coding 并且对内置的 Snippets 功能有相当的了解。

我知道使用 Snippets,我可以在键绑定中从 Andover 一词创建上面的链接,但据我所知,一次只知道一行。

我也知道我可以使用 Zen Coding 进入以下阶段:

<li><a href="/contact-details.html?location=">Andover</a></li>

但在链接中没有位置名称,使用带有缩写的 wrap 和

li*>a[href=/contact-details.html?location=]

显然,这两者仍然有很多工作要做,我确信使用 Komodo 宏是可能的,但我对它们的了解还不够多。

有谁知道 Komodo 中的一种方式,或者使用 Zen Coding,或者任何网站或应用程序,可以进行这种稍微高级的查找/替换/文本扩展?我见过一些确实可以查找和替换的应用程序,但它们都以多个文件为基础,这对于我的需要来说有点多。

理想情况下,这样我就可以写出类似的东西

<li><a href="/contact-details.html?location=[%contentOfCurrentLine]">[%contentOfCurrentLine]</a></li>

并一次性将其复制到所有 400 个位置。

4

2 回答 2

0

使用这样一个名为“ListLink”的片段:

<li><a href="/contact-details.html?location=[[%W]]">[[%W]]</a></li>

并使用scimoz项目API创建一个宏来移动光标并循环调用代码段:

komodo.assertMacroVersion(2);
if (komodo.view && komodo.view.scintilla) { komodo.view.scintilla.focus(); }

var i = 1;
var len = ko.views.manager.currentView.scimoz.lineCount; /* Count lines */
_part = ko.projects.findPart('snippet', 'ListLink', '*'); /* Find Snippet*/
ko.views.manager.currentView.scimoz.documentStart(); /* goto first line */

while (i <= len)
  {
  if (!_part) {alert("Couldn't find a snippet called 'ListLink' when executing macro."); return;}
  ko.projects.invokePart(_part); /* invoke Snippet */
  ko.views.manager.currentView.scimoz.lineDown(); /* goto next line */
  i++;
  }
于 2012-01-25T23:30:18.513 回答
0

你可以在Komode中做到这一点。

  1. 转到“编辑”(在顶部菜单中),“查找”。
  2. 将打开一个窗口,选中复选框“替换”(或您需要的其他)
  3. 完成文本字段“查找内容”和“替换为”,然后单击“全部替换

只是它!

于 2012-11-23T12:52:38.737 回答