Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在emacs中为向后单词创建补漏白函数_Emacs - Fatal编程技术网

在emacs中为向后单词创建补漏白函数

在emacs中为向后单词创建补漏白函数,emacs,Emacs,我是在EMACS中创建lisp函数的新手。 我想做一个函数,用大写字母表示向后的单词。 M-u确实为向前的单词使用大写,但我想用向后的。 在完成函数后,我还想把光标放在单词的末尾。 我想M-u做这个函数,而不是原来的函数。 我应该如何在Emacs lisp中编写函数 谢谢。上一个单词的升格功能是 (defun upcase-previous-word () (interactive) (upcase-word -1)) 如果您想了解有关函数upcase word的更多信息,请尝试M-x

我是在EMACS中创建lisp函数的新手。 我想做一个函数,用大写字母表示向后的单词。 M-u确实为向前的单词使用大写,但我想用向后的。 在完成函数后,我还想把光标放在单词的末尾。 我想M-u做这个函数,而不是原来的函数。 我应该如何在Emacs lisp中编写函数


谢谢。

上一个单词的升格功能是

(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
,所以他们可能希望整个单词大写。谢谢,这正是我想要的。如果我想将字符向后倒排直到遇到空白,我该怎么办?谢谢,这正是我想要的。如果我想将字符向后倒排直到遇到空白,我该怎么办?