Изменения

Перейти к: навигация, поиск

Поддержка PCRE в Midnight Commander

3508 байтов добавлено, 12:44, 20 июня 2016
м
Нет описания правки
Многие наверняка пользуются, а многие другие — знают о существовании такой вещи, как [http://www.midnight-commander.org/ GNU Midnight Commander], он же «'''mc'''». Также все, конечно, понимают, что Midnight Commander — преемник «[[wikipedia:Norton Commander|Нортона]]», известного всем ещё со времён DOS. '''mc''', как и «нортон», имеет встроенный редактор — '''mcedit''', которому я обязан большей частью своего кода (пишу я в нём). :-)
Данная страница содержит описание уже устаревших (вместе с появлением версии mc 4.7.0) патчей для поддержки Perl-совместимых регулярных выражений в '''Midnight Commander'''. Для 4.7.0 тоже кое-что есть, но совсем чуть-чуть и только пока. == MC 4.8.0 == Свершилось; патч для поддержки Escape-последовательностей в поле замены принят и уже включён в 4.8.0. Однако, в 4.8.0 зачем-то поменяли поведение выделения мышкой и копирования в буфер обмена:* При каждом клике мышкой выделение сбрасывается — неудобно, так как если копируешь не с помощью Ctrl-Ins Shift-Ins, а с помощью выделения и просто нажатия F5 — вообще не можешь перейти в новую позицию, ибо позиция сбрасывается. [http://vmx.yourcmc.ru/mc-pcre/mc-git20110403-dont-reset-selection-on-gpm-click.diff Патч для исправления] — то есть, сброса выделения только при перетаскивании мыши (начале нового выделения).* После нажатия Ctrl-Ins выделение больше не сбрасывается — непривычно, потому что раньше было по-другому, да и непонятно, зачем изменено. Видимо, чтобы быть похожим на гуёвые редакторы. В целом неудобно, потому что приходится делать лишние действия для снятия выделения. [http://vmx.yourcmc.ru/mc-pcre/mc-git20110403-clear-selection-after-store.diff Патч для исправления].Оба патча отправлены в https://www.midnight-commander.org/ticket/2530. <s>Однако, есть ещё один патч: [http://vmx.yourcmc.ru/mc-pcre/mc-git20110403-rename-into-same-directory.diff mc-git20110403-rename-into-same-directory.diff]. Если его применить, то при одном и том же каталоге, открытом на обеих панелях, диалог копирования/переименования файла будет по умолчанию подставлять в поле «куда» не путь, а имя файла. Это то, чего мне (а может быть, и не только мне) так не хватало в mc — удобства переименования файлов. Отправил патч в [http://midnight-commander.org/ticket/2529 MC Ticket 2529].</s> О я блин дурак-то, а. Там есть Shift-F5, Shift-F6 для этого.
== MC 4.7.0 ==
<font color="red">'''Внимание!'''</font> Начиная с версии 4.7.0 (например, её пререлиза) Midnight Commander сам по себе поддерживает Perl-совместимые регулярные выражения и отрефакторенный в лучшую сторону диалог поиска-замены. Единственные 2 моментана данный момент недостатки: пока что  * <tt>mc</tt> некорректно работает с символами в кодировке UTF-8 и .* вместо библиотеки PCRE по умолчанию использует используется гномий [[rupedia:Glib|Glib]](в ней, в отличие от PCRE, поддержки UTF-8 вообще нет!). Она* нет поддержки C-тошных escape-последовательностей в строках '''замены''' (а это важная фича, кстатипо крайней мере, как раз и для меня).* (не умеет корректно работать с UTFсовсем по теме, но) «не показывать это снова» в диалоге проверки кодировки на старте <tt>mc</tt> отключает проверку кодировки, а надо бы, вообще-8то, запоминать выбор пользователя и действовать так в дальнейшем, ибо диалог достаёт.  Для исправления этих небольших недостатков, а также включения сборки ''Samba''-плагина в Debian-версии <tt>mc 4.7.0-pre1-3</tt> можно воспользоваться небольшим патчиком <tt>[http://vmx.yourcmc.ru/mc-pcre/mc-4.7.0-pre1-3-minor.patch mc-4.7.0-pre1-3-minor.patch]</tt>. Из патча поставлены [http://www.midnight-commander.org/ticket/1881 баг 1881] и [http://www.midnight-commander.org/ticket/1882 баг 1882].
== Лирическое отступление ==
Copyright © Виталий Филиппов, 2008—2009.
[[Категория:РазработкаАрхив]]
[[Категория:Перенесено с vmx.yourcmc.ru]]

Навигация