在emacs中为向后单词创建补漏白函数
我是在EMACS中创建lisp函数的新手。 我想做一个函数,用大写字母表示向后的单词。 M-u确实为向前的单词使用大写,但我想用向后的。 在完成函数后,我还想把光标放在单词的末尾。 我想M-u做这个函数,而不是原来的函数。 我应该如何在Emacs lisp中编写函数在emacs中为向后单词创建补漏白函数,emacs,Emacs,我是在EMACS中创建lisp函数的新手。 我想做一个函数,用大写字母表示向后的单词。 M-u确实为向前的单词使用大写,但我想用向后的。 在完成函数后,我还想把光标放在单词的末尾。 我想M-u做这个函数,而不是原来的函数。 我应该如何在Emacs lisp中编写函数 谢谢。上一个单词的升格功能是 (defun upcase-previous-word () (interactive) (upcase-word -1)) 如果您想了解有关函数upcase word的更多信息,请尝试M-x
谢谢。上一个单词的升格功能是
(defun upcase-previous-word ()
(interactive)
(upcase-word -1))
如果您想了解有关函数upcase word
的更多信息,请尝试M-x descripe function
然后upcase word
。这将M-u
分配给它
(global-set-key (kbd "M-u") 'upcase-previous-word)
将前一个单词升格的函数是
(defun upcase-previous-word ()
(interactive)
(upcase-word -1))
如果您想了解有关函数upcase word
的更多信息,请尝试M-x descripe function
然后upcase word
。这将M-u
分配给它
(global-set-key (kbd "M-u") 'upcase-previous-word)
我写了一些函数来提供这个功能,因为我找不到任何内置的可以在多个单词上运行的函数。它们可能会证明是有用的:
(defun my-get-words-left (number-of-words)
(save-excursion
(backward-word number-of-words)
(point)))
(defun my-reformat-left-uppercase (number-of-words)
(interactive "p")
(let ((region-end (point))
(region-start (my-get-words-left number-of-words)))
(upcase-region region-start region-end)))
请注意,这不会让您处于词尾,但添加该功能应该不会太难
编辑:事实上,现在我记得其实有一个内置的方式来做这件事:
(upcase-word n)
给大写单词一个负数将使其向后转换为该数量的单词,并保留它所在的位置(如在我的函数中)。在我意识到之前,我无意中重新发明了方向盘。我编写了一些函数来提供这一功能,因为我找不到任何内置的操作多个单词的功能。它们可能会证明是有用的:
(defun my-get-words-left (number-of-words)
(save-excursion
(backward-word number-of-words)
(point)))
(defun my-reformat-left-uppercase (number-of-words)
(interactive "p")
(let ((region-end (point))
(region-start (my-get-words-left number-of-words)))
(upcase-region region-start region-end)))
请注意,这不会让您处于词尾,但添加该功能应该不会太难
编辑:事实上,现在我记得其实有一个内置的方式来做这件事:
(upcase-word n)
给大写单词一个负数将使其向后转换为该数量的单词,并保留它所在的位置(如在我的函数中)。在我意识到之前,我无意中重新发明了方向盘。注意,键入
M--M-c
只需两次击键即可。我认为@Juancho的意思是M--
M-u
。作者在问题中提到了M-u
,因此他们可能希望整个单词大写。请注意,键入M--M-c
只需两次击键即可。我认为@Juancho的意思是M--
M-u
。作者在问题中提到了M-u
,所以他们可能希望整个单词大写。谢谢,这正是我想要的。如果我想将字符向后倒排直到遇到空白,我该怎么办?谢谢,这正是我想要的。如果我想将字符向后倒排直到遇到空白,我该怎么办?