Расширенный поиск и замена / Развернуть текст / Макросы - PullRequest
1 голос
/ 11 октября 2010

Надеюсь, хороший быстрый для кого-то. Я работаю над проектом, который требует конкретной ссылки, написанной около 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>

, но без имени местоположения в ссылке с использованием переноса с сокращением и

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

Очевидно, что обоим из них все еще остается довольно много работы, и я уверен, что это возможно с макросом Komodo, но я не знаю достаточно о них, чтобы сделать это.

Кто-нибудь знает способ в Komodo, или используя Zen Coding, или любой веб-сайт или приложение, которые могут сделать этот вид немного более продвинутого поиска / замены / расширения текста? Я видел несколько приложений, которые находят и заменяют, но все они основаны на нескольких файлах, и это немного для того, что мне нужно.

В идеале, чтобы я мог написать что-то вроде

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

и скопируйте его во все 400 местоположений за один раз.

Ответы [ 2 ]

0 голосов
/ 23 ноября 2012

Вы можете сделать это в Komode .

  1. Перейти к « Редактировать » (в верхнем меню), « Найти ».
  2. Откроется окно, установите флажок " Заменить " (или другие необходимые вам)
  3. Заполните текстовые поля " Найдите, что "и " заменить на ", нажмите " Заменить все "

Просто так!

0 голосов
/ 26 января 2012

Используйте такой фрагмент под названием ListLink:

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

И создайте макрос, используя API scimoz и для перемещения курсора и вызова фрагмента в цикле:

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++;
  }
...