【问题标题】:Move current line to the header of current buffer in Emacs将当前行移动到 Emacs 中当前缓冲区的标题
【发布时间】:2020-12-13 16:07:18
【问题描述】:

我正在尝试找到一种方法来自动化/简化以下用例:

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

然后我想发送/移动当前行(到当前打开文件的顶部标题)。大多数情况下,这是一些 import/require 函数。

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

我该怎么做?


如果它很重要,我主要在邪恶模式下使用 Emacs。

【问题讨论】:

    标签: emacs elisp


    【解决方案1】:

    代码如下:

    (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))))
    

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

    【讨论】:

    • 区域选择方法可能会更好。谢谢!
    • @NikitaFedyashev: wdym?
    • 抱歉,我的意思是明确的区域选择,而不仅仅是当前行
    猜你喜欢
    • 2011-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多