У меня следующая проблема: когда я использую 'Cx rt' (string-rectangle), мне предлагается ввести некоторую строку, чтобы заменить выбранный прямоугольник. Скажем, я набираю ";;" (закомментировать прямоугольник). Это работает просто отлично, но в следующий раз, когда я вызываю ту же функцию, и я хочу заменить ее ничем (пустая строка), я не могу этого сделать, потому что есть строка по умолчанию ";;" что я ранее использовал, и если я просто нажму Enter, команда будет использовать это ";;" строка вместо пустой. Как установить пустую строку?
Подобная проблема у меня была с некоторыми функциями поиска / замены. По сути, когда он запоминает последнюю использованную строку и устанавливает ее по умолчанию, как мне вместо этого «ввести» пустую строку?
РЕДАКТИРОВАТЬ :
Kill-rectangle, упомянутый YoungFrog, решает конкретную проблему, но я имел в виду еще одну вещь: в сущности, в любой функции emacs запоминает последнее введенное вами значение и использует его как «значение по умолчанию», когда вы просто нажимаете enter, вы должны возможность очистить это «значение по умолчанию» от того, что было реальным значением по умолчанию перед первым использованием функции. Вот еще один пример:
В режиме Dired, если вы «Mx rgrep», он запрашивает 3 входа:
1) Что искать: все, что вы введете здесь, будет использовано по умолчанию при следующем использовании rgrep. Как кто-то указал, нет смысла искать пустую строку, поэтому очистка этого значения «по умолчанию» действительно никогда не нужна, я думаю.
2) Далее он спросит, в каких файлах искать. По умолчанию это «все» файлы. Если я введу * .txt и осуществлю поиск, в следующий раз, когда я использую rgrep, * .txt будет использоваться как «по умолчанию». Теперь я хочу очистить этот «default» * .txt и вернуться к исходному значению по умолчанию «all», так же, как я хотел очистить «;;» "default" в функции string-rectangle соответствует реальному значению по умолчанию, пустой строке.
Конечно, эту конкретную проблему для всех файлов можно решить, набрав *? Но эта общая проблема остается с другими командами, которые запоминают последнее использованное значение.
3) Затем он запросит базовый каталог, здесь нет проблем.
Итак, как я вижу, всякий раз, когда emacs пытается помочь мне, вспоминая мое последнее использованное значение в какой-то команде (что я нахожу очень полезным в большинстве случаев), должен быть способ очистить это использованное значение, как если бы я никогда не использовал это Команда раньше.
PS Я все еще новичок в emacs, и, возможно, нужная мне функциональность не нужна, так как всегда есть какой-то обходной путь?
clear rectangle
.
comment-dwim
? Ввод пустой строки для поиска также не имеет смысла, но вы можете ввести пустую строку для замены. Мне любопытно увидеть больше примеров, когда пользователю может потребоваться ввод пустой строки.
string-rectangle
. Всякий раз, когда пустая строка имеет смысл в качестве возможного ввода, должен быть способ ее ввода, в отличие от принятия значения по умолчанию. Посмотрите внимательно на документ для команды (и на ее исходный код, если вам это удобно), чтобы увидеть, есть ли здесь на самом деле недостаток дизайна. Если вы думаете , есть, то , пожалуйста , сообщите об этом: M-x report-emacs-bug
.
2)
вы можете буквально ввести all
, что немного отличается от *
: оно .*
тоже совпадает .
delete-rectangle
это вариант.