5

例如,我想在一堆突出显示的行的末尾添加一个双引号。或者我想从一堆突出显示的行中删除两个字符。有这个命令吗?我知道有用于插入文本矩形的“Mx r t”,但这只有在所有内容都垂直排列时才有效,这通常不是行尾的情况。

4

3 回答 3

7

你可以

  1. C-x(C-e"C-fC-x)用, 分别 保存键盘宏 。C-x(C-eBackspaceBackspaceC-fC-x). C-xe然后用, e, e, e...调用宏
  2. 用 进行正则表达式替换M-C-%。替换$" 添加双引号,替换..$为无删除最后两个字符。
于 2012-05-09T23:12:52.077 回答
5

M-xreplace-regexp $ "应该可以,但我不确定是否replace-regexp尊重标记。

于 2012-05-10T08:43:16.337 回答
3

这是一种更直观的方式,当您在一行中键入结果时,可以查看每一行的结果。

获取 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

于 2012-05-10T08:37:30.613 回答