Как привязать регулярное выражение к комбинации клавиш в 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 . Я попробую то, что вы предложили.
Много ли Скайп "ест" трафика?
Мне интересно, много ли трафика «ест» Скайп, но не только при активном использовании, но и в простое. И насколько сильно он загружает сеть, а то иногда, при включении Скайпа у меня и-нет начинает тормозить.
Алгоритм сравнения текстовых строк?
Посоветуйте алгоритм сравнения строк с принципом работы вроде:
'Иван Иваныч Иванов' = 'Иванов Иван Иваныч'
'Иван Иваныч' ~ 'Иванов Иваныч'
'Иван Иваныч Иванов с утра ходит без штанов' != 'Иванов Иван Иваныч одевает штаны на ночь'
То есть, нужно найти коэффициент похожести строк, с учетом того, что слова в строке могут быть поменяны местами.
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, что напомнил разбить строки на слова %)
Mssql динамические where внутри хранимой процедуры?
Привет mssql монстры и монстрики = )
Ситуация такая: есть толстая хранимая процедура, там несколько временных таблиц и вообще всего. В конце процедуры создается таблица с результирующими нужными данными
DECLARE @search table ( .... )<br/>
INSERT INTO @search (...) select ... union select ....<br/>
Передаю в хранимку параметр @where [varchar](500)
сам параметр выглядит примерно так:
SET @where = 'SELECT * FROM @search WHERE id > 0 AND name like ''%apple%'''
и в конце процедуры я пытаюсь сделать так:
EXEC(@words)
НО, как известно, exec создает свой контекст и код не видит врем. таблицу Demian Smith.
Вопрос — можно ли сделать так чтоб увидеть эту таблицу(@search) внутри exec?
Как можно выбрать из этой хранимки то что надо? (если попытаться сделать внешнюю временную таблицу и в нее сделать
INSERT INTO @newTemp exec [dbo].[search_proc] — выдает ошибку о вложенных exec. (в процедуре этой самой уже есть выполнение и вставка их в таблицы — временные)
DECLARE @search table ( .... )<br/>
INSERT INTO @search (...) select ... union select ....<br/>SET @where = 'SELECT * FROM @search WHERE id > 0 AND name like ''%apple%'''
Какой десктопный почтовик лучше всего гармонирует с GMail?
В связи с временно плохим коннектом (приходится в GMail использовать «basic HTML» интерфейс) задумался как в старые времена поюзать почтовый клиент какой-нибудь. Какой лучше всех дружит с GMail IMAP? Thunderbird, Evolution, KMail (хотя, я использую GNOME, не хотелось бы за почтовиком KDE-шный поисковый движок (как его там...) тянуть), Claws, или, может быть, The Bat?
Хотелось бы прежде всего чтобы оно правильно понимало GMail-овские лэйблы (например не считало их независимыми непересекающимися папками и не считало одно и то же письмо с несколькими лейблами несколькими разными письмами), в т.ч. корзину, черновики, отправленное и спам.
.NET 3.5 Service Pack 1 вызывает 404 страницы в ASP.NET веб-приложении
У меня есть проблема с IIS 6.0 прекращением работы для приложения ASP.NET после установки пакета обновления 1 для .NET 3.5 .
У меня есть 2 идентичных виртуальных выделенных сервера. Установка SP1 на Первом не оказала никакого негативного влияния. Установка его на втором вызвала ASP.NET страницы, чтобы начать возвращать 404 страницы не найдено.
Статические страницы .html работают нормально на обоих серверах.
Кто-нибудь еще испытывал это?
Инъекция Кода С C#
Можете ли вы использовать windows крючки или другие методы, чтобы сделать инъекцию кода с c#? я видел много вещей о инъекции кода, но все они сделаны в C/C++. я не знаю ни одного из этих языков и очень трудно переводить. У кого-нибудь есть идеи, как это сделать?
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А'));
Гугл показал что проблема такая возникает часто, а решения так и не дал.
Так в чем же соль?
'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А'));
Ubuntu, как быть уверенным что с системой все в порядке?
Вопрос может показаться несколько параноидальным, но тем ни менее он сильно меня тревожит. Суть в том что я перешел на linux буквально на этой недели и если в windows я точно знал когда система работает нормально, а когда ее пора сносит то в сейчас я не уверен ни в чем. В win я точно знал что и куда ставлю и где у меня что храниться, то в linux я нахожусь в неведении. Когда я жму установить тот или иной софт качается куча пакетов, могу ли я быть уверенным что при удалении они все стерлись или в том что с качались только нужные пакеты, что все пакеты актуальной версии? У меня ati видио карта и не смотря на то что запускается wow, жестко тормозит и виснет vlc при переходе в full screen, при установке эффектов рабочего стола на максимум приложения разворачиваются по 3 секунды, как мне узнать в чем причина, предел компьютера или кривые дрова на видео? В общем как вы понимаете что в вашей системе все ок или наоборот все плохо?
RGB для монохромного преобразования
Как преобразовать значения RGB пикселя в одно монохромное значение?
- «
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132
- 133
- 134
- 135
- 136
- 137
- 138
- 139
- 140
- 141
- 142
- 143
- 144
- 145
- 146
- 147
- 148
- 149
- 150
- 151
- 152
- 153
- 154
- 155
- 156
- 157
- 158
- 159
- 160
- 161
- 162
- 163
- 164
- 165
- 166
- 167
- 168
- 169
- 170
- 171
- 172
- 173
- 174
- 175
- 176
- 177
- 178
- 179
- 180
- 181
- 182
- 183
- 184
- 185
- 186
- 187
- 188
- 189
- 190
- 191
- 192
- 193
- 194
- 195
- 196
- 197
- 198
- 199
- 200
- 201
- 202
- 203
- 204
- 205
- 206
- 207
- 208
- 209
- 210
- 211
- 212
- 213
- 214
- 215
- 216
- 217
- 218
- 219
- 220
- 221
- 222
- 223
- 224
- 225
- 226
- 227
- 228
- 229
- 230
- 231
- 232
- 233
- 234
- 235
- 236
- 237
- 238
- 239
- 240
- 241
- 242
- 243
- 244
- 245
- 246
- 247
- 248
- 249
- 250
- 251
- 252
- 253
- 254
- 255
- 256
- 257
- 258
- 259
- 260
- 261
- 262
- 263
- 264
- 265
- 266
- 267
- 268
- 269
- 270
- 271
- 272
- 273
- 274
- 275
- 276
- 277
- 278
- 279
- 280
- 281
- 282
- 283
- 284
- 285
- 286
- 287
- 288
- 289
- 290
- 291
- 292
- 293
- 294
- 295
- 296
- 297
- 298
- 299
- 300
- 301
- 302
- 303
- 304
- 305
- 306
- 307
- 308
- 309
- 310
- 311
- 312
- 313
- 314
- 315
- 316
- 317
- 318
- 319
- 320
- 321
- 322
- 323
- 324
- 325
- 326
- 327
- 328
- 329
- 330
- 331
- 332
- 333
- 334
- 335
- 336
- 337
- 338
- 339
- 340
- 341
- 342
- 343
- 344
- 345
- 346
- 347
- 348
- 349
- 350
- 351
- 352
- 353
- 354
- 355
- 356
- 357
- 358
- 359
- 360
- 361
- 362
- 363
- 364
- 365
- 366
- 367
- 368
- 369
- 370
- 371
- 372
- 373
- 374
- 375
- 376
- 377
- 378
- 379
- 380
- 381
- 382
- 383
- 384
- 385
- 386
- 387
- 388
- 389
- 390
- 391
- 392
- 393
- 394
- 395
- 396
- 397
- 398
- 399
- 400
- 401
- 402
- 403
- 404
- 405
- 406
- 407
- 408
- 409
- 410
- 411
- 412
- 413
- 414
- 415
- 416
- 417
- 418
- 419
- 420
- 421
- 422
- 423
- 424
- 425
- 426
- 427
- 428
- 429
- 430
- 431
- 432
- 433
- 434
- 435
- 436
- 437
- 438
- 439
- 440
- 441
- 442
- 443
- 444
- 445
- 446
- 447
- 448
- 449
- 450
- 451
- 452
- 453
- 454
- 455
- 456
- 457
- 458
- 459
- 460
- 461
- 462
- 463
- 464
- 465
- 466
- 467
- 468
- 469
- 470
- 471
- 472
- 473
- 474
- 475
- 476
- 477
- 478
- 479
- 480
- 481
- 482
- 483
- 484
- 485
- 486
- 487
- 488
- 489
- 490
- 491
- 492
- 493
- 494
- 495
- 496
- 497
- 498
- 499
- 500
- 501
- 502
- 503
- 504
- 505
- 506
- 507
- 508
- 509
- 510
- 511
- 512
- 513
- 514
- 515
- 516
- 517
- 518
- 519
- 520
- 521
- 522
- 523
- 524
- 525
- 526
- 527
- 528
- 529
- 530
- 531
- 532
- 533
- 534
- 535
- 536
- 537
- 538
- 539
- 540
- 541
- 542
- 543
- 544
- 545
- 546
- 547
- 548
- 549
- 550
- 551
- 552
- 553
- 554
- 555
- 556
- 557
- 558
- 559
- 560
- 561
- 562
- 563
- 564
- 565
- 566
- 567
- 568
- 569
- 570
- 571
- 572
- 573
- 574
- 575
- 576
- 577
- 578
- 579
- 580
- 581
- 582
- 583
- 584
- 585
- 586
- 587
- 588
- 589
- 590
- 591
- 592
- 593
- 594
- 595
- 596
- 597
- 598
- 599
- 600
- 601
- 602
- 603
- 604
- 605
- 606
- 607
- 608
- 609
- 610
- 611
- 612
- 613
- 614
- 615
- 616
- 617
- 618
- 619
- 620
- 621
- 622
- 623
- 624
- 625
- 626
- 627
- 628
- »