从emacs的行尾删除字符

时间:2013-02-15 08:32:43

标签: emacs text-editor

在使用%时,我想使用these answer在标记区域的每行末尾插入字符emacs。但是,为了避免像%%这样的结尾,我必须首先删除区域中行末尾的所有%个出现位置。例如

foo%
foo2
foo3%
foo4%%
bar
bar%

应该成为

foo
foo2
foo3
foo4
bar
bar

请注意,并非该区域中的所有行都以%结尾(否则我会完成),而有些行可能以%更多结尾。也就是说,不能简单地删除每一行的最后一个字符。我想这很简单,但我太多了emacs新手。

2 个答案:

答案 0 :(得分:2)

CM - % %+ CQ CJ 输入 CQ Cj 调用query-replace-regexp替换任意数量的%,然后换行换行符。

答案 1 :(得分:0)

您可以直接在一个步骤中执行这两个步骤,只用一个替换行尾的任何现有%字符。

C-M-%   <- query-replace-regexp
%*$     <- 0 or more %s at end of line
Enter
%       <- by only one %
Enter
!       <- apply to all (optional, see below)

如果使用瞬态标记模式,则该命令将在活动区域​​内运行。否则,您可以选择narrow-to-region C-x n n )以确保它不会影响文件的其他部分。