在 Emacs 中,visual-line-mode 和 toggle-truncate-lines 的组合导致 Ce 无法到达行尾。如何修复此问题

在 Emacs 中,visual-line-mode 和 toggle-truncate-lines 的组合导致 Ce 无法到达行尾。如何修复此问题

在 Emacs 中启用此功能后visual-line-mode,长行会在文本的自然换行处换行,这样我就可以看到任何给定行上的所有文本。Wrap出现在我的状态栏中。有时我想让行不换行。我可以通过命令切换该状态:M-x visual-line-mode。但是,当我这样做时,C-e它不会带我到行尾,而是带我到“屏幕宽度”左右的某个地方,尽管它似乎是可变的。

我可以通过M-x toggle-truncate-lines在运行后调用来解决该问题M-x visual-line-mode,但我想要做的是使用单个功能键命令按顺序运行两个命令。

在我的.emacs文件中我目前有这个:

(global-set-key [f8] 'toggle-truncate-lines)
(global-set-key [f9] 'visual-line-mode)

定义这些键后,我可以按顺序使用功能键f9f8来获得我想要的结果。我想我可以编写一个 elisp 函数来按顺序调用这两个函数,然后将单个功能键映射到该函数,如下所示:

(defun unwrap-lines ()
  "Unwrap lines, and fix the C-e not to the end problem"
  (interactive)
  (visual-line-mode)
  (toggle-truncate-lines))

(global-set-key [f10] 'unwrap-lines)

但是定义这个函数之后好像只调用了我的函数里的第二个命令toggle-truncate-lines,而跳过了visual-line-mode函数的环节。

我究竟做错了什么?

相关内容