如何定义使用`replace-string`替换特定字符串的Emacs命令

时间:2011-09-16 15:24:46

标签: regex emacs elisp

我需要删除ascii字符0253并在其中添加回车符。在emacs我做

M-x replace-string ý RET C-q C-j

C-q C-j增加一个回车。我经常这样做,我创建自定义defun会好得多。

这是我到目前为止所拥有的

(defun remove-253 ()
   "Removes ASCII Character 0253 and adds a carriage return in it's place"
   (interactive)
   (replace-string "ý" .... not sure what to do next )
)

你的想法?

谢谢,

范数

3 个答案:

答案 0 :(得分:2)

这对我有用:

(replace-string "ý" "\n")

答案 1 :(得分:2)

`repeat-complex-command'(C-x escape escape)也应该帮助你解决这样的问题。它向您显示代表您上次复杂操作的Emacs Lisp表单,因此您可以将表单直接粘贴到defun中,然后离开。

在这种情况下,您会看到:

  

(replace-string“ý”“\ n”nil(if(和transient-mark-mode mark-active)   (region-beginning))(if(和transient-mark-mode mark-active)   (区域末端)))

答案 2 :(得分:0)

听起来像keyboard macros的工作。 : - )