gpt4 book ai didi

emacs - 如何在emacs中切换区域中的字母大小写

转载 作者:行者123 更新时间:2023-12-04 13:40:22 26 4
gpt4 key购买 nike

如何在 Emacs 中切换区域文本的字母大小写(将大写字母切换为小写,小写字母切换为大写)?

列出了用于转换的命令,但没有用于切换的命令。

示例:

请切换我的信箱

应该变成:

请切换我的信 CASE

最佳答案

我为你写的;它没有经过彻底的测试,但它似乎可以满足您的需求。

它背后的逻辑是遍历文本中的每个字符。如果字符等于小写字符,则将其附加到大写返回字符串。如果没有,请将其附加在小写中。最后,删除区域并插入返回字符串。

它可以立即在一页文本上使用,尽管我会谨慎地在大文本上使用它(应该还可以)。

(defun toggle-case ()
(interactive)
(when (region-active-p)
(let ((i 0)
(return-string "")
(input (buffer-substring-no-properties (region-beginning) (region-end))))
(while (< i (- (region-end) (region-beginning)))
(let ((current-char (substring input i (+ i 1))))
(if (string= (substring input i (+ i 1)) (downcase (substring input i (+ i 1))))
(setq return-string
(concat return-string (upcase (substring input i (+ i 1)))))
(setq return-string
(concat return-string (downcase (substring input i (+ i 1)))))))
(setq i (+ i 1)))
(delete-region (region-beginning) (region-end))
(insert return-string))))

关于emacs - 如何在emacs中切换区域中的字母大小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18257573/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com