2012-05-09 11 views
5

強調表示された行の最後に二重引用符を追加したい。または、ハイライトされた行の束から2文字を削除したい。これにはコマンドがありますか?私はテキストの矩形を挿入するための "M-x r t"があることを知っていますが、これはすべてが縦に並んでいる場合にのみ有効です。これは一般的に行末ではありません。Emacsで一度に多くの行の最後にテキストを追加または削除するにはどうすればよいですか?例えば、

答えて

7

あなたは

  1. 、 RESPを C-XC-EC-FC-Xとキーボードマクロを保存することができます。 C-XC-EBackspaceキーBackspaceキーC-FC-X。次いでC-Xとマクロを起動EEEE ...
  2. M-C-%のを持つ正規表現置換を行います。 $" と置き換えて二重引用符を追加する場合は、..$を最後の2つの 文字を削除するものに置き換えます。
+1

マクロを記録した後、C-u n C-x eを実行します。ここで「n」は、おそらく望むリピート数です。 – SlowLearner

+1

マクロの次回の実行に備えるために、そこにあるマクロに "C-n"がないのですか? – deong

+0

@deong:そうです、ありがとうございます。更新しました。 – choroba

3

ここでは、視覚的にわかりやすく、1行に入力するごとに結果が表示されます。

グラブhttp://github.com/capitaomorte/yasnippetからyasnippetの最新のコピーとあなたの.emacs

(require 'yasnippet) 

(defun yas/add-to-end-of-lines-snippet() 
    (interactive) 
    (when (region-active-p) 
    (let ((snippet (replace-regexp-in-string "$" "$1" (buffer-substring (region-beginning) (region-end))))) 
     (delete-region (region-beginning) (region-end)) 
     (yas/expand-snippet snippet)))) 

に追加今領域と種類M-x add-to-end-of-lines-snippetを選択します。

5

M-Xreplace-regexp$"動作しますが、私はreplace-regexp点がマークかはわからないはずです。

+3

元のhighlinght( 'C-x n n'と' C-x n w')の範囲外の行を破壊する危険なしに、 'narrow-to-region'と狭められたバッファ全体を常に操作することができます。 – Juancho

+0

'replace-regexp'も他のタスク(最後の2文字を削除)に使用できます。置換する "..$ "これを達成するために何もなし。 – Juancho

関連する問題