在 Emacs 中将当前行移动到当前缓冲区的 header

Move current line to the header of current buffer in Emacs

我正在尝试找到一种方法来 automate/simplify 以下用例:

我在一个长文件中间的某个地方,我粘贴了一些东西。

然后我想send/move当前行(到当前打开文件的顶部header)。通常这是一些 import/require 函数。

理想情况下,所有这些都应该在不丢失文件中的相对位置的情况下发生(无需手动设置标记)。

我该怎么做?


如果重要的话,我主要在evil-mode中使用Emacs。

代码如下:

(defun move-region-to-beginning-of-buffer (beg end)
  "Move the region to the beginning of the buffer, then go back."
  (interactive "r")
  (let ((text (buffer-substring beg end)))
    (save-excursion
      (delete-region beg end)
      (goto-char (point-min))
      (insert text))))

通过选择要发送到缓冲区开头的文本(实际上,粘贴后它已经被标记)来使用它,然后 M-x move-region-to-beginning-of-buffer返回。 您也可以按照通常的方式将此命令绑定到一个键。