16.11 一个简单的扩展:line-to-top-of-window

下面是一个简单的Emacs扩展,将光标所在行移动到窗口顶部。我经常使用它,以便更容易阅读文本。

你可以将以下代码放入一个单独的文件中,然后从你的 .emacs 文件中加载它,或者直接包含在 .emacs 文件中。

下面是定义:

;;; 将行移到窗口顶部;
;;; 替代三个按键序列 C-u 0 C-l
(defun line-to-top-of-window ()
  "将光标所在行移动到窗口顶部。"
  (interactive)
  (recenter 0))

现在是按键绑定。

函数键以及鼠标按钮事件和非ASCII字符用方括号括起,不加引号。

我将 line-to-top-of-window 绑定到我的 F6 函数键上,如下所示:

(global-set-key [f6] 'line-to-top-of-window)

有关更多信息,请参阅 在你的初始化文件中重新绑定键 in GNU Emacs手册

如果你运行两个GNU Emacs版本,比如版本27和28,并使用一个 .emacs 文件,你可以使用以下条件选择要评估的代码:

(cond
 ((= 27 emacs-major-version)
  ;; 评估版本27的代码
  ( … ))
 ((= 28 emacs-major-version)
  ;; 评估版本28的代码
  ( … )))

例如,最近的版本默认闪烁光标。我不喜欢这种闪烁,以及其他一些功能,因此我将以下内容放在我的 .emacs 文件中17

(when (>= emacs-major-version 21)
  (blink-cursor-mode 0)
  ;; 在缓冲区末尾按 'C-n'(next-line)时插入换行符
  (setq next-line-add-newlines t)
  ;; 打开图像查看
  (auto-image-file-mode t)
  ;; 打开菜单栏(此栏具有文本)
  ;; (使用数值参数打开)
  (menu-bar-mode 1)
  ;; 关闭工具栏(此栏具有图标)
  ;; (使用数值参数打开)
  (tool-bar-mode nil)
  ;; 关闭工具栏的工具提示模式
  ;; (此模式导致图标解释弹出)
  ;; (使用数值参数打开)
  (tooltip-mode nil)
  ;; 如果启用工具提示,使提示迅速显示
  (setq tooltip-delay 0.1)  ; 默认为0.7秒
   )

Footnotes

(17)

当我启动不加载我的 .emacs 文件或任何站点文件的Emacs实例时,我还会关闭闪烁:

emacs -q --no-site-file -eval '(blink-cursor-mode nil)'

或者现在,使用一组更复杂的选项,

emacs -Q -D