6

Я пытаюсь выяснить способ для автоматического поиска и замены всех специальные / акцентированные буквы / символов (например, в / Â с эквивалентными обычными буквами / символы Ô / A в Notepad++.

Пробовал использовать ToolFx, но это не сработало.

3 ответа3

4

Предложение выше превосходно, но в данный момент оно не будет работать из-за проблемы между Notepad++ и «Notepad++ Python Script». Уже несколько месяцев менеджер плагинов Notepad++ загружает старую версию Python Script, которая не работает с редактором. Чтобы это исправить:

  1. Выход из Блокнота ++
  2. Загрузите совместимую версию с SourceForge.
  3. Запустите загруженный установщик, дважды щелкнув по нему. В более новой Windows он попросит переключиться на права администратора.
  4. Убедитесь, что выбрали правильный установочный диск в начале процесса установки. Он не будет правильно определять установочный диск Notepad ++. Мне пришлось переустановить его снова, потому что по умолчанию он устанавливается на C:\, даже если Notepad ++ находится на другом диске.
  5. Следуйте инструкциям мастера.
  6. Закончив процесс установки, (пере) запустите Notepad ++. Теперь перейдите и откройте меню плагинов. Вы должны увидеть новый элемент "Python Script" внутри него. Если он появляется, значит, вы правильно установили правильную версию. Вы также можете дважды проверить, открыв диспетчер подключаемых модулей, перейдя на вкладку "Установлено" и отыскивая запись, показывающую версию 1.0.8 (в настоящее время) подключаемого модуля Python.
  7. Вы почти закончили. Зайдите в Плагины => Python Script => Показать консольное меню. Панель должна появиться в нижней части Notepad ++. Он ДОЛЖЕН отображать подсказку, подобную следующей:

    Python 2.7.6-notepad++ r2 (default, Apr 21 2014, 19:26:54) [MSC v.1600 32 bit (Intel)]
    Initialisation took 156ms
    Ready.
    

Различные номера версий являются актуальными на сегодняшний день, конечно, они будут меняться с течением времени. Если в нижней панели отображается исключение, в котором указано, что произошло исключение, или (и) оно остается пустым, значит, вы установили неправильный плагин Python в версии.

Теперь давайте применим скрипт правильно:

  1. Откройте две новые, пустые вкладки / файлы.
  2. Вставьте ваш акцентированный текст в первый.
  3. Щелкните правой кнопкой мыши на вкладке второго и выберите меню "Перейти к другому виду". Окна Notepad++ будут разделены.
  4. Откройте консоль Python Script, как описано выше (Плагины => Python Script => Показать меню консоли).
  5. Перейдите к строке консоли в нижней части панели Python, в ее начале есть отметка «>>>».
  6. Введите: from Npp import * и затем нажмите Enter (теперь предполагается, что вы всегда будете нажимать Enter в конце команд).
  7. Введите: import unicodedata в том же тексте ввода.
  8. Нажмите (выберите) вкладку с акцентированным текстом ( это важно!).
  9. Введите следующие команды, по одной строке за раз, в приглашении Python и затем нажмите Enter после каждой строки:

    eText = editor.getText()
    uText = unicode(eText, "UTF-8")
    nText = unicodedata.normalize( "NFKD", uText )
    

Если вы хотите быть уверены, что Python "действительно получил текст": после eText = editor.getText() (+ клавиша Enter) введите: print eText + Enter. Вы должны увидеть ваш акцентированный текст, выведенный на панель вывода консоли Python.

  1. Нажмите (выберите) пустую вкладку ( это важно!).
  2. Введите: editor.addText( nText.encode('ASCII', 'ignore') ) в обычном текстовом поле ввода команды консоли Python.
  3. Пустая вкладка должна заполниться преобразованным текстом без акцента. Обязательно внимательно следите за этим списком дел, потому что легко пропустить шаг (особенно щелкая вкладки), и тогда вам придется перезапускать с нуля.
1

Не ограничивается тем , что вы видите , как доступные. У нас есть Python, доступный из N++, и это означает, что быстрый поиск SO [python] [unicode] remove accents выявляет этот высоко голосованный вопрос, касающийся именно этого!

Мы можем достаточно легко протестировать в N++, чтобы увидеть, как это работает:

  1. Откройте два новых буфера / вкладки / файлы или как угодно, называя их.
  2. Скопируйте и вставьте эти латинские расширенные символы UTF-8 в первый.
  3. Щелкните правой кнопкой мыши на вкладке второго и "Перейти к другому виду".
  4. Откройте консоль Python Script и попробуйте следующие команды:

    из Npp import *
    импорт уникальных данных
    << Выберите вкладку в представлении 1. >>
    eText = editor.getText() << Выберите вкладку в представлении 2. >>
    uText = Unicode (eText, "UTF-8")
    nText = unicodedata.normalize ("NFKD", uText)
    editor.addText (nText.encode ('ASCII', 'ignore'))

Если немного оглянуться, кажется, что есть много способов сделать акцент, вопрос в том, что лучше всего подойдет вам. И теперь, когда вы видите, как легко «попробовать» эти решения в своем тексте, попробуйте и попробуйте. Как только вам понравился конкретный метод, добавьте его (используя меню плагинов) в качестве скрипта, и он будет там, когда вам это нужно.

Повеселись!


Кстати, если у вас не установлен Python Script, вы можете установить его с помощью Plugins -> Plugin Manager.

1

скрипт

Вот вариант сценария из первого и второго ответов, который можно использовать для назначения сочетания клавиш для преобразования выделенного текста:

class convert_char01:
    import unicodedata
    eText = editor.getSelText()
    uText = unicode(eText, encoding='utf-8', errors='ignore')
    nText = unicodedata.normalize( "NFKD", uText )
    editor.replaceSel(nText)

кратчайший путь

Вот как создать комбинацию клавиш для запуска скрипта:

  • Установите Python Script для АЭС.
  • Создайте новый скрипт:
    • Перейдите в Плагины > Python Script > Новый скрипт.
    • Назовите это сказать "convert_char.py".
  • Добавьте этот скрипт в меню:
    • Выберите « Плагины» > « Python Script» > « Конфигурация», нажмите « Пользовательский сценарий» и нажмите кнопку « Добавить», чтобы добавить элементы меню.
    • Предложите также установить инициализацию на ATSTARTUP, чтобы ускорить процесс.
  • Создайте новую горячую клавишу быстрого доступа:
    • Вероятно, сначала нужно перезапустить АЭС, чтобы новый пункт меню появился в Shortcut Mapper.
    • Создайте новый ускоритель ярлыков в разделе « Настройки» > « Ярлык ярлыков».

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

Рекомендации

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .