下一个逻辑行在emacs中做什么
我正在为emacs中的移动定义新的键绑定。我想把M-n绑定到下一行,但我也找到了下一个逻辑行,它似乎做了同样的事情 我知道下一行向下移动一行。 下一个逻辑行做什么 您能举一个例子说明这两个命令在哪些方面可以做不同的事情吗?来自Emacs帮助(下一个逻辑行在emacs中做什么,emacs,Emacs,我正在为emacs中的移动定义新的键绑定。我想把M-n绑定到下一行,但我也找到了下一个逻辑行,它似乎做了同样的事情 我知道下一行向下移动一行。 下一个逻辑行做什么 您能举一个例子说明这两个命令在哪些方面可以做不同的事情吗?来自Emacs帮助(C-h下一个逻辑行)): 下一个逻辑行是中的交互式编译Lisp函数 “简单,el” (下一逻辑行和可选参数TRY-VSCROLL) 将光标垂直向下移动到参数行。这与 “下一行”,除了它总是按逻辑行移动,而不是按 可视线,忽略变量“line move visu
C-h下一个逻辑行)
):
下一个逻辑行是中的交互式编译Lisp函数
“简单,el”
(下一逻辑行和可选参数TRY-VSCROLL)
将光标垂直向下移动到参数行。这与
“下一行”,除了它总是按逻辑行移动,而不是按
可视线,忽略变量“line move visual”的值
逻辑行是基于“换行符”
字符分隔的行。或者换句话说,逻辑行基于文本而不是显示。是next-line()的来源
文档字符串包含以下文本:
如果变量“line move visual”为非nil,则此命令按
显示行。否则,它将通过缓冲线移动,而不占用空间
考虑可变宽度字符或连续行。见M-x
总是按缓冲区行移动的命令的下一个逻辑行
是next-logical-line()的源
下一逻辑行的实现是:
(defun next-logical-line (&optional arg try-vscroll)
"Move cursor vertically down ARG lines.
This is identical to `next-line', except that it always moves
by logical lines instead of visual lines, ignoring the value of
the variable `line-move-visual'."
(interactive "^p\np")
(let ((line-move-visual nil))
(with-no-warnings
(next-line arg try-vscroll))))
我们可以看到next-logical-line
是使用next-line
实现的,但是line-move-visual
设置为nil。默认情况下,此变量设置为t:
$ emacs -Q --batch --eval '(message "%s" line-move-visual)'
t
$emacs-Q--批处理--评估(消息“%s”行移动可视)
T