0

を使用する場合、これらの回答%を使用して、マークされた領域の各行の最後に文字を挿入したいと思いemacsます。ただし、このようなエンディングを回避するには、リージョン内の行末にある%%すべての出現箇所を最初に削除する必要があります。%例えば

foo%
foo2
foo3%
foo4%%
bar
bar%

なるべき

foo
foo2
foo3
foo4
bar
bar

リージョン内のすべての行が で終わるわけではないことに注意してください%(それ以外の場合は終了します) %。つまり、各行の最後の文字を単純に削除することはできません。かなり単純だと思いますが、私はemacsの初心者が多すぎます。

4

2 に答える 2

2

C-M-%%+C-qC-jEnterC-qC-j!query-replace-regexp任意の数の % の後に続く改行を改​​行に置き換えることを呼び出します。

于 2013-02-15T08:50:36.457 に答える
0

行末の既存の % 文字を 1 つだけに置き換えて、2 つの手順を 1 つに直接実行できます。

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

Transient Mark モードを使用している場合、コマンドはアクティブな領域内で動作します。それ以外の場合は、ファイルの他の部分に影響を与えないようにするためにnarrow-to-region( ) を選択できます。C-x n n

于 2013-02-15T11:09:53.193 に答える