Почему нано-редактор запрашивает у меня «сохранить изменения», когда ничего не меняется, и могу ли я изменить это поведение?

319
Nathan Smith

Когда я открываю файл в nano, если я добавляю символ, затем удаляю его, чтобы файл был точно таким же, каким он был изначально, при закрытии мне предлагается «сохранить изменения», и я должен набрать N, если нет. Есть ли способ изменить это? Было бы хорошо, если бы не было подсказки, если изменения не были внесены.

Кажется, Vim следует шаблону, который я предпочитаю, но, возможно, это только мое впечатление, потому что отдельные режимы команд / режимы редактирования Vim предотвращают тенденцию добавлять и удалять пробелы (т. Е. При рассмотрении вопроса о том, редактировать ли какой-либо код перед переходом к другому файлу)

0
Вы сделали изменения. Вы добавили персонажа и удалили персонажа. Appleoddity 6 лет назад 1
это правда, но я никогда не вносил изменения в файл (кроме времени модификации). Я почти уверен, что это не сохранение истории изменений, чтобы прыгать и отменять то, с чего я остановился, или что-то еще. лично я бы посоветовал сохранить только для * изменения в файле * более последовательный и предпочтительный пользовательский интерфейс. Должен ли я редактировать Q? чтобы было понятнее? Nathan Smith 6 лет назад 0
Нет это понятно. Но дело в том, что вы ДЕЙСТВИТЕЛЬНО внесли изменения. Он видит изменения и отмечает необходимость сохранения. Это не значит, что вы возвращаете файл в исходное состояние. Так работает почти каждая программа и пользовательский интерфейс. Даже при изменении настроек конфигурации. Изменение параметра и последующее его изменение активирует кнопку «Применить». Просто нормальное поведение. Попробуйте отменить функцию, как предложено в ответе. Appleoddity 6 лет назад 0
Да, я полагаю, что добавить нужную функцию было бы немного затруднительно, потому что для этого потребовалось бы вычислить `diff` при закрытии, вместо того, чтобы просто иметь логический флаг `ified`, который устанавливается после того, как вы внесли изменения. Я думал о том, чтобы разорвать git-репо и сделать свою собственную версию, но сделать это приоритетом было бы хардкорным промедлением с моей стороны, лол. В любом случае, спасибо за ваш отзыв Nathan Smith 6 лет назад 0

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

0
arielnmz

Nano не постоянно сравнивает ваш файл с исходным в случае, если он обнаруживает что-то измененное, скорее он просто отслеживает изменения в буфере и, поскольку имеется два входа (char и del char), он обнаружит изменение. Попробуйте использовать команду отмены, которая на самом деле делает шаг назад в истории редактирования, если это проблема для вас.

Хороший вопрос о команде отмены. Я только что посмотрел, Нано говорит, что это `MU`; после небольшой копки я обнаружил, что в моей настройке означает `Alt + U` Nathan Smith 6 лет назад 0