Блокнот Ctrl-Backspace поведение

9785
musa

Текстовые поля почти во всех программах стирают слово при нажатии ctrl+ backspace. Тем не менее, Блокнот ведет себя по-разному, и вставляет символ, который:
`` (Я скопировал его сюда. Я не уверен, если он виден. Он выглядит как прямоугольник в Блокноте.)

Вот скриншот:

ctrl+bksp

  • Что это за персонаж?
  • Почему Блокнот делает это? Это проще реализовать?
  • Существуют ли другие комбинации клавиш для других персонажей?
  • Есть ли в блокноте комбинация клавиш для удаления слова?
19

1 ответ на вопрос

21
grawity
  1. Это 0x7F «Удалить» в ASCII и U + 007F «Удалить» в Юникоде.

  2. Это на самом деле отсутствие реализации. Обычная Backspaceотправка ASCII 0x08 (я не уверен, как элемент управления Edit обрабатывает его внутренне), и в различных операционных системах весьма часто CtrlBackspaceотправлять последовательность «Delete».

    Поведение «удалить слово» было добавлено позже как недокументированная функция и только к тем элементам управления «Правка», которые используют «SHAutoComplete». Если в текстовом поле отключено автозаполнение, оно CtrlBackspace, скорее всего, не будет работать.

    ( Некоторые программы реализуют свои собственные элементы управления редактированием текста, которые немного отличаются от встроенных.)

  3. CtrlJи CtrlMбудет переведен на новую строку ( ^JCR в ASCII и ^MLF; однако, элемент управления Edit преобразует оба нажатия клавиш в CR + LF.) Аналогичным образом CtrlIвставляется символ табуляции.

    Ctrl_и Ctrl^приведет к несколько бесполезным «Разделитель единиц» ( ^_) и «Разделитель записей» ( ^^).

    ( ^XОбозначение означает, что клавиша Ctrl - Ctrl-X в этом примере - в ASCII это эквивалентно сбросу 7-го бита следующего символа.)

  4. Нет, но вы можете использовать, CtrlShift← Leftчтобы выбрать предыдущее слово, и переписать, набрав.

    Или получите лучший Блокнот .

Спасибо за ответную благодарность. Но я не понимаю, почему вы отказались от правки @ RJFalconer. [Ctrl] [Left] не _select_ без [Shift]. musa 13 лет назад 0
@musa: я не сделал, это просто происходит, когда два человека редактируют одновременно. grawity 13 лет назад 0
Просто для записи: Notepad2 имеет точно такую ​​же проблему в диалоговых окнах «Найти и заменить текст», как Notepad (++), Ctrl-Backspace не удаляет предыдущее слово. Обходной путь работает отлично, спасибо. Michael S. 6 лет назад 0