Прямой ответ :: Нет.
Можно ли это сделать? Да.
Просто? Да.
В один ярлык? да
Что нужно? N++ PythonScript и плагины HTML-тегов.
Зачем? Мы собираемся использовать тег HTML « Select Tag and Contents
из сценария Python, который будет корректировать выбор, сделанный тегом HTML, перемещая начало сразу после первого «>», а конец - непосредственно перед последним «<».
После установки плагина N++ PythonScript создайте новый скрипт с этим кодом:
# Reduce selection to omit the outer most tags selected by the 'HTML Tag' plugin.
from Npp import *
def omit_tag( args ):
editor.clearCallbacks()
SelText = editor.getSelText()
if SelText:
orig_Start = editor.getSelectionStart()
new_Start = orig_Start + SelText.find(">")
orig_End = editor.getSelectionEnd()
new_End = orig_Start + SelText.rfind("<")
if new_Start > orig_Start and new_End < orig_End:
editor.setSel( new_Start + 1, new_End )
def main():
editor.callback( omit_tag, [SCINTILLANOTIFICATION.UPDATEUI] )
notepad.runMenuCommand("HTML Tag", "Select Tag and Contents")
main()
После создания сценария используйте диалоговое окно настройки PythonScript, чтобы добавить сценарий в список «Пункты меню» (что позволит нам назначить ярлык). Перезапустите, затем используйте диалог Настройки-> Ярлык Mapper:: Плагины, добавьте Shift+ Alt+ T Shoftcut к новой записи для сценария, который вы только что создали. Перезапустите снова, чтобы записать новую запись быстрого доступа в конфигурацию N++.
Так что теперь (используя ваш образец текста), из строки, где вы хотели нажать ::
CTRL+T, чтобы перейти к другому тегу.
CTRL+Shift+T, чтобы выделить весь блок тегов.
Shift+Alt+T, чтобы выделить внутренний текст.
Если вы попытаетесь выбрать «контентную» часть блока, вы заметите, что окончания строк тоже фиксируются. Это можно рассматривать как плюс или минус в зависимости от вашей точки зрения ...
В качестве одной рекомендации, используйте SCI_SWAPMAINANCHORCARET
чтобы позволить вам отрегулировать любой конец вашего выбора, используя обычные модификаторы движения и выбора. Вы можете установить его с помощью ярлыка на панели Scintilla (рядом с нижней частью). Я установил мой CTRL+Shift . это прекрасно работает, так как, когда уже изменено выделение, Shift обычно уже нажата.
Надеюсь, это поможет. Повеселись!