删除Emacs中kill环开头的空格

删除Emacs中kill环开头的空格,emacs,elisp,Emacs,Elisp,我想使用(yank)在点处插入压井环的内容,但是,如果在被拖动文本的开头有空格,则应在插入之前将其删除 如何做到这一点 (我已经查看了保存短途旅行和向后搜索,但无法使其工作)您可以尝试 (defun my-yank () (interactive) (let ((start (point))) (call-interactively 'yank) (let ((end (point))) (save-excursion (goto-char s

我想使用
(yank)
在点处插入压井环的内容,但是,如果在被拖动文本的开头有空格,则应在插入之前将其删除

如何做到这一点

(我已经查看了
保存短途旅行
向后搜索
,但无法使其工作)

您可以尝试

(defun my-yank ()
  (interactive)
  (let ((start (point)))
    (call-interactively 'yank)
    (let ((end (point)))
      (save-excursion
        (goto-char start)
        (delete-region (point)
                       (progn (skip-chars-forward " \t" end) (point)))))))

这里有一个可能的解决方案

(defun yank-no-spaces (&optional arg)
  (interactive "*P")
  (yank arg)
  (save-restriction
    (save-excursion
      (narrow-to-region (point) (mark))
      (goto-char (point-min))
      (just-one-space 0))))

工作完美。谢谢!