Я хочу написать этот макрос в ~/.lldbinit
:Как написать многострочный макрос в ~/.lldbinit?
command regex pxml 's/(.+)/p xmlElemDump(stdout, %1, xmlDocGetRootElement(%1))/' -h "Dump the contents of an XML tree."
Но это слишком долго, и я хочу, чтобы разбить его на нескольких линиях, как это:
command regex pxml
's/(.+)/p xmlElemDump(stdout, %1, xmlDocGetRootElement(%1))/'
-h "Dump the contents of an XML tree."
или
command regex pxml\
's/(.+)/p xmlElemDump(stdout, %1, xmlDocGetRootElement(%1))/'\
-h "Dump the contents of an XML tree."
К сожалению, оба они вызывают эту ошибку:
Enter one of more sed substitution commands in the form: 's/<regex>/<subst>/'.
Terminate the substitution list with an empty line.
Как я могу разбить макрос на несколько строк?
Обратите внимание, что если ваша команда regex подстановки начинает очень долго, возможно, пришло время подумать о том, чтобы записать ее как команду Python. Инструкции для этого приведены здесь: http://lldb.llvm.org/python-reference.html. –
Спасибо за ответ. Но записывая макрос в этом мини-редакторе и добавляя пустую строку после последней подстановки в '~/.lldbinit', и используя ее для интерпретации при запуске lldb или поиске его с помощью' command source ~/.lldbinit' будет производить эта ошибка снова. Кажется, что lldb не распознает пустые строки в поиске в качестве конца ввода. –
Когда я это делаю, я получаю этот текст о «Введите один или несколько ...», но команда regex на самом деле была создана и работает так, как ожидалось. Вы проверяли, что команда работала, или предположили из вывода, что это не так? –