4
我幾個月來一直在使用Emacs,並且我想開始使用elisp編程。具體來說,我想寫我自己的interactive
函數。但是,我有點失落。 (interactive ...)
有很多選項,我不確定我想要哪一個。然後,我真的不知道我需要的功能的名稱。如果有人能夠幫助我將我的僞代碼變成真正的代碼,我會非常感激! (和往常一樣,以翔實的地方的任何鏈接將是一件好事現在我剛讀了this.。)用交互式Emacs Lisp函數替換文本幫助
這裏是僞代碼是我想要做的:
(defun my-func (buffer) ; I think I need the buffer as an arg?
"does some replacements"
(interactive ???) ; ?
(let (replacements (list
'("a-regexp-string" . "a-replacement-string-with-backreferences")
...)) ; more of the above
(while replacements
(let (current (car replacements)) ; get a regexp-replacement pair
(some-regexp-replace-func buffer (car current) (cdr current)) ; do the replacement
(setq replacements (cdr replacements))))))
非常感謝,這幫助我瞭解發生了什麼並走上正軌。我只需要使用`re-search-forward`而不是非regexp版本,並且不會將`t`傳遞給`replace-match`,以便引用匹配的組。再次感謝! – 2009-01-18 03:48:56