Действительно ли возможно инвертировать одну строку в Блокноте ++?
Пример:
Hello world
Изменился бы на
dlrow olleH
Я должен установить плагин для такой функциональности?
ОБНОВЛЕНИЕ: я хотел бы сохранить буфер обмена в его исходном состоянии. Так [копия] - [внешнее преобразование] - [вставка] не подходит.
Кроме того, я хотел бы остаться в разъединенной настольной среде, таким образом, любое решение для онлайн-сервиса не подходит.
ОБНОВЛЕНИЕ: Я добавил, что Python 3 "инвертирует текстовый сценарий" буфера обмена.
Этот сценарий Python 3 обслуживает текст Unicode; т.е. весь текст...
# original # Ĥĕłłō ŵōŗłđ in Unicode
# reversed # edocinU ni đłŗōŵ ōłłĕĤ
Поскольку никакое интегрированное решение (еще) не было представлено, я упомяну обходное решение инструментов Unix.
Загрузите утилиты, упомянутые в источнике (ниже), и поместите их в папку PATH'd.
Вытолкайте код (ниже) в .cmd файл и назовите его чем-либо, что Вы любите. (это к, должен, конечно, быть в папке PATH'd).
Создайте ярлык Windows на .cmd (поместите его где-нибудь в Ваш StartMenu и установите его для выполнения минимизированный)... и assighen Горячая клавиша Ярлыка к нему.
Можно затем просто скопировать текст по Вашему выбору в буфер обмена и нажать Горячую клавишу... Готово!.. обратный текст заменяет выделенный текст.
Если Вы предпочитаете, чтобы можно было создать NotePad ++ макрос, чтобы выбрать и скопировать всю строку.. (примите во внимание символ (символы) новой строки в конце текста.
Кроме того, как упомянуто в исходных примечаниях. Этот мир для наборов символов единственных байтов..
sed.exe
смогите обрабатывать Unicode, но я еще не вполне разработал это один... Если Вы, оказывается, знаете, как сделать это, отправьте информацию, или здесь или возможно в моей регистрации определенного qustion примыкают к этой проблеме: can-gnu-sed-for-windows-handle-unicode
Это sed.exe
версия:
@echo off
::==============================================::
:: FUNCTION: Reverse the text in the clipboard. ::
:: 8-bit characters only (ANSI). ::
:: It removes all \r and \n characters, because ::
:: because sed.exe adds a trailing line-feed ::
:: Four `NIX utilities are used. ::
:: 2 gclip.exe (GNU) ::
:: 1 pclip.exe (GNU) ::
:: 3 gsed.exe (GNU) ::
:: 4 tr.exe (is `NIX, but maybe not GNU) ::
::==============================================::
> "%temp%\%n0.sed" echo /\n/!G
>> "%temp%\%n0.sed" echo s/\(.\)\(.*\n\)/^&\2\1/
>> "%temp%\%n0.sed" echo //D
>> "%temp%\%n0.sed" echo s/.//
pclip.exe | sed.exe -f "%temp%\%n0.sed" | tr.exe -d "\r\n" | gclip.exe
del "%temp%\%n0.sed"
goto :eof
Вот Python-3
версия:
##==============================================##
## FUNCTION: Reverse the text in the clipboard. ##
## The text is handled as unicode. ##
## Using Python-3.1.2 ##
## with Python-Win32-extensions for Python-3.1 ##
##==============================================##
import win32clipboard as w
w.OpenClipboard()
## CF_UNICODETEXT == 13
s=w.GetClipboardData(13)
w.SetClipboardData(13,s[::-1])
w.CloseClipboard()
Можно сделать выполненный с помощью итераций поиск и замену для инвертирования строки после маркировки начала строки со специальным символом (я использую % знака процента в примере),
поиск: (%)(.*)(.)
замена: \3\1\2
включите "регулярные выражения" в поиске и замене.
повторите операцию, пока строка не будет инвертирована.
Если Вы не должны делать этого, что часто Вы могли скопировать строку в этот сетевой инструмент, чтобы сделать реверсирование.
Расширение идеи gor, если Ваша строка является менее затем десятью символами:
Сделайте макрос из этого.
Выделите желаемую область в N ++
поиск:
(.?)(.?)(.?)(.?)(.?)(.?)(.?)(.?)(.?)
замена:
\9\8\7\6\5\4\3\2\1
замена в выборе: проверенный
N ++ только поддерживает десять групп, таким образом, это - все, что Вы получаете, но по крайней мере это делает десять букв сразу.
Вне темы regex механизм IE отличается, чем принятый в отношении подобных regex's, таким образом, это могло бы быть выполнимо в IE без повторений.