我有以下问题:当我使用“ Cx rt”(字符串矩形)时,系统提示我输入一些字符串,以替换选定的矩形。假设我输入“ ;;” (注释掉矩形)。这工作得很好,但是下次我调用相同的函数,并且我想不替换任何内容(空字符串)时,我将无法执行此操作,因为存在“默认”字符串“ ;;”。我以前使用过的命令,如果我刚刚按Enter键,该命令将使用该“ ;;” 字符串而不是空字符串。如何将其设置为空字符串?
我在某些搜索/替换功能中遇到了类似的问题。基本上,当它记住我使用的最后一个字符串并将其设置为默认字符串时,我该如何“输入”空字符串呢?
编辑:
YoungFrog提到的Kill-rectangle解决了特定的问题,但是我想到了另一件事:从根本上讲,在emacs所使用的任何函数中,它都会记住您输入的最后一个值,并在您按回车键时将其用作“默认值”,您应该能够在您首次使用该功能之前将“默认”清除为实际的默认值。这是另一个例子:
在Dired模式下,如果您“ Mx rgrep”,它会要求您输入3个:
1)搜索内容:您在此处输入的内容将在您下次使用rgrep时用作默认设置。正如有人指出的那样,搜索空字符串没有任何意义,因此我猜确实不需要清除此“默认”值。
2)接下来,它将询问要搜索哪些文件。真正的默认设置是“所有”文件。如果我输入* .txt并进行搜索,则下次使用rgrep时,*。txt将用作“默认值”。现在,我希望清除此“默认” * .txt,并返回其原始默认值“ all”,就像我想清除“ ;;”一样。字符串矩形函数中的“默认”为其真正的默认空字符串。
当然,可以通过键入*解决所有文件的特定问题。但是,其他可能记住上次使用值的命令仍然存在潜在的一般问题。
3)接下来将询问基本目录,这里没有问题。
因此,我的观察方式是,每当emacs试图通过记住某个命令中我最后一次使用的值来帮助我时(我发现大部分时间该值非常有用),应该有一种清除该使用过的值的方法,就像我从未使用过那样命令之前。
PS我仍然是emacs的新手,也许不需要我所需的功能,因为总有一些解决方法?
clear rectangle
。
comment-dwim
?另外,输入“空”字符串进行搜索没有任何意义,但是您可以为替换部件输入一个空字符串。我很好奇看到更多示例,其中用户可能需要输入一个空字符串。
string-rectangle
。只要有空字符串作为可能的输入有意义,就应该有一种输入它的方式,区别于接受默认值。仔细查看该命令的文档(如果愿意,请仔细查看其源代码),以查看此处是否确实存在设计缺陷。如果您认为有,请报告:M-x report-emacs-bug
。
2)
,您可以直接输入all
,它与稍有不同*
:它也匹配.*
。
delete-rectangle
可以选择。