Обобщение всех остальных ответов и комментариев, а также некоторые дополнительные необходимые шаги, которые не были упомянуты:
Scintilla предоставляет команду «copyAllowLine», которая делает это. Notepad ++ не предоставляет эту команду в сопоставлении ярлыков, но ее можно вызвать из скрипта Python и сопоставить Ctrl + C с этим скриптом. Для "cutAllowLine" нет соответствующей команды, но немного дополнительного кода Python сделает это. Эти сценарии должны быть добавлены в меню, и Notepad ++ должен быть перезапущен, прежде чем они станут доступны в средстве быстрого доступа.
Установка Плагин Python Script (можно сделать с помощью менеджера плагинов Notepad ++)
Создайте следующие два скрипта Python, используя меню Плагины -> Скрипт Python -> Новый скрипт
copyAllowLine.py
editor.copyAllowLine()
cutAllowLine.py
if editor.getSelectionStart() == editor.getSelectionEnd():
editor.lineCut()
else:
editor.cut()
Python Script -> Конфигурация
- в Пользовательские сценарии , добавьте пункт меню для каждого сценария.
Перезапустить блокнот ++ (важно)
Настройки -> Ярлык быстрого доступа ...
в Команды Scintilla , удалить существующие ассоциации для Ctrl + C и Ctrl + X .
в Команды плагина , найдите скрипты, которые вы только что создали, и сопоставьте с ними ваши ярлыки.
Примечание: при установке через менеджер плагинов была установлена версия 1.0.6. Когда я пытался запустить что-нибудь, связанное с Python в Notepad ++, я получил неизвестное исключение из менеджера плагинов. Решением было вручную загрузить и установить 1.0.8 .msi отсюда: 1.0.8 Установщик