2010-10-11 3 views
1

Надеюсь, хороший быстрый для кого-то. Я работаю над проектом, который требует, чтобы определенная ссылка была написана около 400 или около того. Каждое звено такого же, за исключением того, что имеет названный по имени города в нем, таких как:Advanced Find & Replace/Text Expand/Макросы

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

Я в настоящее время использую Komodo Edit, чтобы написать свои проекты, и я Zen Кодирование установлен и порядочное знание встроенного Функциональность Snipets.

Я знаю, что используя Snippets, я мог бы создать ссылку выше от слова Andover в привязке ключей, но насколько я знаю только одну строку за раз.

Я также знаю, что я мог бы использовать Zen Coding, чтобы добраться до стадии:

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

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

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

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

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

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

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

и скопировать его на все 400 мест на одном дыхании.

+0

У вас может быть больше шансов получить ответ на официальном форуме Komodo: http://community.activestate.com/forums/komodo-support –

ответ

0

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

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

И создать макрос с помощью scimoz и projects 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++; 
    } 
0

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

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

Только это!

Смежные вопросы