21

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

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

Ctrl + Bksp

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

2 ответа2

23
  1. Это 0x7F "Удалить" в ASCII и U+007F "Удалить" в Юникоде.

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

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

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

  3. Ctrl J и Ctrl M будут переведены на новую строку (^J - это CR в ASCII, а ^M - это LF; однако, элемент управления Edit преобразует оба нажатия клавиш в CR+LF.) Аналогично, Ctrl I вставляет символ табуляции.

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

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

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

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

1

Ctrl-Backspace для удаления слова в блокноте был наконец реализован!

Смотрите изменения в блокноте в Windows 10 версии 1809. Вот

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .