Как привязать регулярное выражение к комбинации клавиш в emacs?

Для контекста я что-то вроде Новичка emacs. Я не использовал его очень долго, но использую его все больше и больше (мне это очень нравится). Также мне комфортно с lisp, но не очень хорошо знаком с elisp.

То, что мне нужно сделать, это привязать регулярное выражение к комбинации клавиш, потому что я использую этот конкретный regex так часто.

То, что я делал:

M-C-s ^.*Table\(\(.*\n\)*?GO\)

Обратите внимание, что я использовал новую строку выше , но я обнаружил, что для isearch-forward-regexp вам действительно нужно заменить \n в регулярном выражении на результат C-q Q-j . Это вставляет литеральную новую строку (без завершения команды), позволяя мне поместить новую строку в выражение и сопоставить строки.

Как я могу привязать это к комбинации клавиш?

Я смутно понимаю, что мне нужно создать функцию elisp, которая выполняет isearch-forward-regexp с выражением, но я нечетко разбираюсь в деталях. Я поискал в гугле и нашел большинство документов, которые должны быть немного запутанным.

Как я могу привязать регулярное выражение к комбинации клавиш в emacs?


У Майка Стоуна был лучший ответ на данный момент-не совсем то, что я искал, но он работал для того, что мне нужно

Edit-этот вид работал, но после сохранения макроса, когда я вернулся, чтобы использовать его позже, я не мог использовать его с C-x e . (т. е., если я перезагружаю emacs, а затем набираю M-x macro-name, а затем C-x e , я получаю сообщение в минибуфере, например "нет последнего макроса kbd" или что-то подобное)


@Mike камень-Спасибо за информацию. Я попытался создать макрос вот так:

C-x( M-C-s ^.*Table\(\(.*C-q C-J\)*?GO\) C-x)

Это создало мой макрос, но когда я выполнил свой макрос, я не получил того же выделения, которое я обычно получаю, когда использую isearch-forward-regexp . Вместо этого он просто перескочил к концу следующего матча выражения. Так что это действительно не работает для того, что мне нужно. Есть идеи?

Edit: похоже, я могу использовать macros, чтобы делать то, что я хочу, мне просто нужно думать вне коробки isearch-forward-regexp . Я попробую то, что вы предложили.

regex   emacs   lisp    

433   4   11:10, 4th August, 2020


Много ли Скайп "ест" трафика?

Мне интересно, много ли трафика «ест» Скайп, но не только при активном использовании, но и в простое. И насколько сильно он загружает сеть, а то иногда, при включении Скайпа у меня и-нет начинает тормозить.

Skype   Анализ   посещаемости   сайтов    

416   8   11:02, 4th August, 2020


Алгоритм сравнения текстовых строк?

Посоветуйте алгоритм сравнения строк с принципом работы вроде:


'Иван Иваныч Иванов' = 'Иванов Иван Иваныч'

'Иван Иваныч' ~ 'Иванов Иваныч'

'Иван Иваныч Иванов с утра ходит без штанов' != 'Иванов Иван Иваныч одевает штаны на ночь'


То есть, нужно найти коэффициент похожести строк, с учетом того, что слова в строке могут быть поменяны местами.

UPD: Кажется придумал:

a — массив слов первой строки

b — массив слов второй строки


n — количество слов первой строки

m — количество слов второй строки


Сij — коэффициент похожести слов a[i] и b[j] (можно использовать soundex или Levenshtein distance)


K = (С11 + С12 +… + С1m + C21 + C22 +… + C2m +… + Cnm) / ((n + m) / 2)


Итого для примера, пусть Cij считается как a[i] == b[j] ? 1 : 0


a = ['Иван', 'Иваныч', 'Иванов']

b = ['Иванов', 'Иван', 'Иваныч']


K = (0 + 1 + 0 + 0 + 0 + 1 + 1 + 0 + 0) / ((3 + 3) / 2) = 3 / 3 = 1 — строки одинаковы


a = ['Иван', 'Иваныч']

b = ['Иванов', 'Иваныч']


K = (0 + 0 + 0 + 1) / ((2 + 2) / 2) = 1 / 2 = 0.5 — похожи, но не равны


Вроде логично.


Спасибо hamMElion, что напомнил разбить строки на слова %)

Алгоритмы   Обработка   текста    

332   6   10:57, 4th August, 2020


Mssql динамические where внутри хранимой процедуры?

Привет mssql монстры и монстрики = )

Ситуация такая: есть толстая хранимая процедура, там несколько временных таблиц и вообще всего. В конце процедуры создается таблица с результирующими нужными данными

DECLARE @search table ( .... )<br/>
INSERT INTO @search (...) select ... union select ....<br/>


Передаю в хранимку параметр @where [varchar](500)


сам параметр выглядит примерно так:
SET @where = 'SELECT * FROM @search WHERE id &gt; 0 AND name like ''%apple%'''



и в конце процедуры я пытаюсь сделать так:

EXEC(@words)


НО, как известно, exec создает свой контекст и код не видит врем. таблицу Demian Smith.

Вопрос — можно ли сделать так чтоб увидеть эту таблицу(@search) внутри exec?

Как можно выбрать из этой хранимки то что надо? (если попытаться сделать внешнюю временную таблицу и в нее сделать
INSERT INTO @newTemp exec [dbo].[search_proc] — выдает ошибку о вложенных exec. (в процедуре этой самой уже есть выполнение и вставка их в таблицы — временные)

Хранимые   процедуры   SQL   Server    

290   1   10:54, 4th August, 2020


Какой десктопный почтовик лучше всего гармонирует с GMail?

В связи с временно плохим коннектом (приходится в GMail использовать «basic HTML» интерфейс) задумался как в старые времена поюзать почтовый клиент какой-нибудь. Какой лучше всех дружит с GMail IMAP? Thunderbird, Evolution, KMail (хотя, я использую GNOME, не хотелось бы за почтовиком KDE-шный поисковый движок (как его там...) тянуть), Claws, или, может быть, The Bat?


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

Gmail   Электронная   почта   IMAP    

396   9   10:54, 4th August, 2020


.NET 3.5 Service Pack 1 вызывает 404 страницы в ASP.NET веб-приложении

У меня есть проблема с IIS 6.0 прекращением работы для приложения ASP.NET после установки пакета обновления 1 для .NET 3.5 .

У меня есть 2 идентичных виртуальных выделенных сервера. Установка SP1 на Первом не оказала никакого негативного влияния. Установка его на втором вызвала ASP.NET страницы, чтобы начать возвращать 404 страницы не найдено.

Статические страницы .html работают нормально на обоих серверах.

Кто-нибудь еще испытывал это?

iis   .net-3.5   servicepacks    

393   6   10:25, 4th August, 2020


Инъекция Кода С C#

Можете ли вы использовать windows крючки или другие методы, чтобы сделать инъекцию кода с c#? я видел много вещей о инъекции кода, но все они сделаны в C/C++. я не знаю ни одного из этих языков и очень трудно переводить. У кого-нибудь есть идеи, как это сделать?

c#   code-injection    

454   4   10:22, 4th August, 2020


php SOAP Extension

Начинаю постигать SOAP, наткнулся на такую проблему: при попытке обращения к соап функции выскакивает фатал еррор Uncaught SoapFault exception: [VersionMismatch] Wrong Version. Ниже приведен код примера.

$client = new SoapClient(
'http://new.starliner.ru/modules/trains/soap/test.wsdl',
array(
'features' => SOAP_SINGLE_ELEMENT_ARRAYS,
)
);

$result = $client->trainRoute(array('day'=>'12', 'month' => '12', 'train' => '066А'));


Гугл показал что проблема такая возникает часто, а решения так и не дал.
Так в чем же соль?

PHP   SOAP    

363   3   10:18, 4th August, 2020


Ubuntu, как быть уверенным что с системой все в порядке?

Вопрос может показаться несколько параноидальным, но тем ни менее он сильно меня тревожит. Суть в том что я перешел на linux буквально на этой недели и если в windows я точно знал когда система работает нормально, а когда ее пора сносит то в сейчас я не уверен ни в чем. В win я точно знал что и куда ставлю и где у меня что храниться, то в linux я нахожусь в неведении. Когда я жму установить тот или иной софт качается куча пакетов, могу ли я быть уверенным что при удалении они все стерлись или в том что с качались только нужные пакеты, что все пакеты актуальной версии? У меня ati видио карта и не смотря на то что запускается wow, жестко тормозит и виснет vlc при переходе в full screen, при установке эффектов рабочего стола на максимум приложения разворачиваются по 3 секунды, как мне узнать в чем причина, предел компьютера или кривые дрова на видео? В общем как вы понимаете что в вашей системе все ок или наоборот все плохо?

Linux    

322   6   10:05, 4th August, 2020


RGB для монохромного преобразования

Как преобразовать значения RGB пикселя в одно монохромное значение?

colors   rgb   monochrome    

505   6   10:02, 4th August, 2020