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

标签 elisp

如何使用 elisp 更改 at point 的单词?很像(大写单词)但使用我自己的函数?

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

TIA 马库斯

最佳答案

试试这个代码。我使用 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))

关于elisp - 如何使用 elisp 更改缓冲区中的单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22299920/

相关文章:

xml - Elisp 解析 XML,然后搜索特定值

emacs lisp : How to remove/delete an element of a list?

emacs - 在 post-command-hook 中,kill-word 的 this-command 不知何故变成了 kill-region

Emacs 和 ispell : error loading german8

Emacs Helm 完成 : how to turn off persistent-help_line?

emacs - 当 Yasnippet 宏可以触发时,如何触发事件?

Emacs:禁用所有 Lisp 缓冲区的特定次要模式

Emacs 阻止以 `#<filename>#` 形式进行备份

emacs - 从哈希表中检索键,按值排序,高效

emacs - 如何向 Emacs 主模式添加垂直对齐功能