如何使用elisp更改缓冲区中的单词?

时间:2014-03-10 12:18:54

标签: elisp

如何使用elisp更改单词?有点像(upcase-words)但是使用我自己的函数吗?

背景:我编写了一个功能,可以检测点数的基数,并可以将其转换为任何其他基数。我想要做的是直接在缓冲区中更改数字。

TIA 马库斯

1 个答案:

答案 0 :(得分:2)

试试这段代码。我已经使用upcase包含了一个示例交互式函数:

(defun change-word-at-point (fun)
  (cl-destructuring-bind (beg . end)
      (bounds-of-thing-at-point 'word)
    (let ((str (buffer-substring-no-properties beg end)))
      (delete-region beg end)
      (insert (funcall fun str)))))

(defun upcase-word ()
  (interactive)
  (change-word-at-point 'upcase))