Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macros 高级查找与编辑;替换/文本展开/宏_Macros_Komodo_Komodoedit - Fatal编程技术网

Macros 高级查找与编辑;替换/文本展开/宏

Macros 高级查找与编辑;替换/文本展开/宏,macros,komodo,komodoedit,Macros,Komodo,Komodoedit,希望是一个很好的快速的人。我正在做一个项目,需要一个特定的链接被写在大约400个位置。每个链接都是相同的,只是其中包含城镇名称,例如: <li><a href="/contact-details.html?location=Andover">Andover</a></li> 显然,这两个方面仍然有很多工作要做,我相信使用Komodo宏是可能的,但我对它们的了解还不够 有人知道Komodo、Zen编码或任何网站或应用程序中有什么方法可以实现这种稍微

希望是一个很好的快速的人。我正在做一个项目,需要一个特定的链接被写在大约400个位置。每个链接都是相同的,只是其中包含城镇名称,例如:

<li><a href="/contact-details.html?location=Andover">Andover</a></li>
显然,这两个方面仍然有很多工作要做,我相信使用Komodo宏是可能的,但我对它们的了解还不够

有人知道Komodo、Zen编码或任何网站或应用程序中有什么方法可以实现这种稍微高级一点的查找/替换/文本扩展吗?我见过一些应用程序可以查找和替换文件,但它们都基于多个文件,这对于我的需要来说有点过分

理想情况下,我可以写这样的东西

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

  • 然后一次将其复制到所有400个位置。

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

    <li><a href="/contact-details.html?location=[[%W]]">[[%W]]</a></li>
    
  • 并使用和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++;
      }
    
    komodo.assertMacroVersion(2);
    if(komodo.view&&komodo.view.scintlla){komodo.view.scintlla.focus();}
    var i=1;
    var len=ko.views.manager.currentView.scimoz.lineCount;/*数行*/
    _part=ko.projects.findPart('snippet','ListLink','*');/*查找片段*/
    ko.views.manager.currentView.scimoz.documentStart();/*转到第一线*/
    
    而(i您可以在Komode中执行此操作

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

  • 就这么办吧!

    您可能有更好的机会在科莫多官方论坛上获得回复:
    <li><a href="/contact-details.html?location=[[%W]]">[[%W]]</a></li>
    
    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++;
      }