Eclipse имеет сочетание клавиш, которое удаляет либо текущую строку (если ничего не выделено), либо все строки, которые являются частью текущего выделенного текста: Ctrl+ D.
Есть ли способ заставить Ctrl+ Dсделать то же самое в Notepad ++?
Лучшее, что я мог сделать, это переназначить ярлык на Scintilla SCI_LINE_DELETE
, но он удаляет только одну строку за раз, даже если выделение занимает несколько строк.
keyboard-shortcuts
notepad++
Мэтт Болл
источник
источник
Ctrl+L
сопоставлено ... редактировать ага, оно сопоставленоSCI_LINECUT
. Это была буквально следующая команда Scintilla нижеSCI_LINE_DELETE
.Ctrl+L
будет разрезать линию (скопируйте ее в буфер обмена). Чтобы фактически удалить строкуCtrl+Shift+L
, это удалит выделенные строки без перезаписи вашего буфера обмена.SCI_LINEDELETE
это то, чтоCtrl+Shift+L
было сопоставлено. Я пытался это, но он только удалил (без копирования в буфер обмена) первую из выбранных строк, аналогично OP. Я что-то пропустил?Edit > Line Operations
Я должен был отобразить Ctrl+ Dдля обоих
SCI_LINEDELETE
иSCI_LINECUT
для того , чтобы заставить его вести себя как Eclipse. Надеюсь, это полезно.Вы также должны отключить или повторно связать,
SCI_SELECTIONDUPLICATE
чтобы не было конфликта на Ctrl+ D.Чтобы отключить ярлык, выделите его, нажмите «
Modify
Установить DropDownList»None
,Apply
сначала нажмите, а затемOkay
.источник
Макро - хороший выбор здесь. Хотя макрос, который я придумал, немного запаздывает (вы можете заметить, что задержка между ударом CTRL-D и удалением строк при большом выделении может составлять четверть секунды), он прекрасно работает как при выделении одной строки, так и при выделении нескольких строк, и охватывает различные сложные случаи.
Итак, мой макрос:
CTRL + J - если выделено несколько строк, они объединяются в одну строку
HOME - обычная кнопка HOME. Подводит курсор к началу строки (или началу объединенной строки).
SHIFT + END - выбирает строку до конца, начиная с позиции курсора.
CTRL + SHIFT + L - удаляет всю строку
Этот набор действий охватывает все возможные сценарии удаления строк, с которыми я столкнулся при интенсивном использовании notepad ++.
источник
В Notepad ++ есть ярлык для удаления строки:
Ctrl
+Shift
+ ..L
но это удалит только одну строку.Даже если выбрано несколько строк, будет удалена только строка, в которой находится курсор, а не выделенные строки.
Итак, самый простой способ удалить серию выбранных строк, вы должны записать макрос с помощью следующих сочетаний клавиш:
Ctrl+J
с последующим
Ctrl+ Shift+L
Сначала будут
JOIN
выделены строки, а затемDELETE
вся строка.Это лучше, чем использование комбинации
CUT
иDELETE
подхода, как упомянуто выше (который я пробовал), потому что в некоторых случаях он также удаляет невыбранные строки.источник
В качестве немакро-альтернативы ответу @Jan Domozilov, я следовал этим шагам (используя Notepad ++ v6.5.1 (UNICODE)):
Shortcut Mapper
.Join Lines
(строка 26) значениеCtrl+Alt+D
.SCI_LINEDELETE
(строка 90) вCtrl+D
.Это позволяет вам выполнить желаемое поведение с небольшой модификацией. Вы выбираете свой текст, запускаете команду Join Lines
Ctrl+Alt+D
, отпускаете толькоAlt
клавишу иD
снова нажимаете, чтобы удалить текст.источник
Еще один более простой способ - использовать
backspace
кнопку после выбора, это заменит выбранную строку на клавишу возврата.источник
Вы можете использовать CTRL + DELETE, чтобы удалить все содержимое строки. Затем все, что вам нужно сделать, это снова использовать DELETE, чтобы удалить перевод строки. Если вам этого недостаточно, вы можете создать макрос для выполнения обоих действий.
Похоже, что он перестал работать в последней версии, я рекомендую вам использовать подход Macro для всей проблемы. Перейдите в «Макрос», «Начать запись», затем нажмите «Домой», «Shift» + «КОНЕЦ», «УДАЛИТЬ», «УДАЛИТЬ», затем перейдите в «Макрос» и остановите свой макрос. После этого перейдите в «Сохранить текущий записанный макрос» и выберите имя и ярлык (например, CTRL + DEL). Это снова активирует ярлык для удаления строки.
источник
Ctrl+Delete
не удаляет строки в Notepad ++ для меня (я не переназначил никакие ключи кромеCtrl+D
).Ctrl+Backspace
? (также не работает для меня)CTRL + SHIFT + DELDETE прекрасно работает для меня, чтобы удалить всю строку.
источник