Почему блокнот в Windows Vista случайно перемещает курсор после сохранения файла?

15

Что происходит:

Первоначально мой курсор был на «изначально здесь». Когда я нажимаю, Ctrl+Sчтобы сохранить файл, мой курсор автоматически перемещается на вторую позицию.

После многих попыток я увидел, что он случайно перемещается в точку на одну или две линии выше того места, где он был изначально.

альтернативный текст

(Красная линия - курсор - я нарисовал его вручную, так как он не будет отображаться на экране печати)

Кто-нибудь заметил эту вещь?

Моя версия Блокнота:

альтернативный текст

Это проблема, так как я продолжаю печатать, и всякий раз, когда я сохраняю, мне приходится вручную опускать курсор в нужное место, иначе я печатаю где-то между строк!

Lazer
источник
1
Я предполагаю, что в посте должно быть несколько изображений, но он показывает только «альтернативный текст» для меня.
Т. Калтнекар
@T. Kaltnekar это исправлено сейчас?
Lazer
Да, изображения видны сейчас.
Т. Калтнекар
Кажется, это ошибка, я могу воспроизвести ее. Похоже, это как-то связано с переносом слов. Предлагаю вам использовать notepad ++, как предложено micmcg.
Т. Калтнекар
1
Из теста я сделал - если я добавил несколько символов и сохранил, он не двигался. Если я добавил достаточно текста, чтобы он был перенесен в конец строки, курсор перемещался после сохранения. Чем больше он завернут, тем больше он двигается.
Т. Калтнекар

Ответы:

25

Я заметил эту проблему в Windows XP Notepad. Это происходит только в том случае, если при сохранении включен перенос слов. Величина, на которую курсор перемещается назад, связана с количеством новых точек переноса перед курсором с момента последнего сохранения. Чем больше новых точек переноса перед курсором, тем дальше курсор перемещается назад.

Почему курсор двигается? Когда вы сохраняете с переносом слов, Блокнот вставляет символы CR CR LF в каждую точку переноса в окне дисплея (но не в сохраненном файле). Количество символов от начала окна отображения до курсора остается неизменным, но из-за дополнительных символов CR CR LF курсор появляется для перемещения назад.

Для получения дополнительной информации и пошагового примера см. Ошибка в блокноте: сохранение с переносом слов при вставке символов CR CR LF в окне дисплея .

Bavi_H
источник
1
спасибо за добавление информации. посты, состоящие в основном из ссылок, не рекомендуются здесь, чтобы минимизировать будущие проблемы с неработающими ссылками.
Квик-кихот
ответ, которого я ждал!
Лазер
1
На самом деле, эта ошибка восходит ко временам Windows for Workgroups 3.11 (может вернуться еще дальше). Я часто использовал Windows Write, и он делал то же самое всякий раз, когда вы сохраняете с переносом слов, хотя это также немного изменяло перенос слов, но не обновляло отображение, вызывая путаницу. Когда вышла Windows 95, запись была переименована в Блокнот, и ошибка курсора осталась там, где она осталась. Другими словами, эта ошибка существовала не менее 20 лет, и до сих пор M $ не удосужился ее исправить.
Крис Крейг
2
Пишите - я почти уверен, что запись не имеет ничего общего с Блокнотом. Windows 3.1 и 3.11 для рабочих групп имели Notepad и Write, они были отдельными программами. Современный эквивалент Write - это WordPad, а не Notepad. Я не помню такой ошибки в Write, но если она была, я подозреваю, что она не связана с этой ошибкой в ​​блокноте. Ошибка Блокнота вызвана плохим использованием сообщения EM_FMTLINES многострочного элемента управления редактированием. Я думаю, что Write и WordPad используют элементы управления расширенным текстом, поэтому сомневаюсь, что это одно и то же. @KrisCraig
Bavi_H
2
Как долго существовала ошибка - я использовал версии Notepad в Windows 3.1, 3.11 для рабочих групп, 95, XP, 7, 8, 8.1 и 10. В версиях от 3.1 до 95 такой ошибки не было, и версии от XP до 10 имеют эту ошибку. В этом сообщении автор пишет, что заметил ошибку в Windows 2000 и более поздних версиях. Я предполагаю, что где-то около Windows 2000, Блокнот был пересмотрен для использования EM_FMTLINES, и эта ошибка осталась с тех пор.
Bavi_H
9

Независимо от того, является ли это ошибкой, если вы делаете что-то в блокноте достаточно регулярно, чтобы это стало проблемой, вам нужно начать использовать лучший текстовый редактор. Попробуйте бесплатный блокнот ++ для начала - http://notepad-plus.sourceforge.net/

micmcg
источник
2
У меня были ... проблемы с зависанием Notepad ++ и / или зависанием файла, открытого на нескольких системах довольно часто. Кроме этого, отличный редактор;)
Эд С.
см. SO для списка популярных текстовых редакторов: stackoverflow.com/questions/14155/windows-based-text-editors
lexu
0

(Не могу оставлять комментарии, потому что у меня недостаточно репутации.)

По данным этого сайта , это было исправлено как минимум Windows 10 версии 1511 (ноябрь 2015).

Согласно данным сайта , ошибка существовала в Windows 10 18 октября 2015 года.

Если мы собираемся использовать основные версии Windows 10, первоначальный выпуск был 1507, затем следующая основная версия была 1511 . Таким образом, версия 1511 была первым серьезным обновлением, в котором была исправлена ​​эта ошибка.

user868538
источник
-2

Откройте редактор реестра и в поле «Текущий пользователь» найдите следующий ключ:

HKEY_CURRENT_USER\Software\Microsoft\Notepad

тогда

  1. Создайте новое значение DWORD с именем fSavePageSettingsи установите его в «1»
  2. если fSaveWindowPositionsне существует, создайте DWORD и установите его в «1»
jama.jamazoka
источник
2
Что означают эти клавиши и каков их эффект?
Der Hochstapler
Я нашел ссылку на эти параметры реестра на сайте ответов Microsoft , но настройки не
устранили