我创建了一个键盘宏来使用以下命令将缓冲区中的行连接起来:
F3 C-n M-x join-line
RET F4。
它行之有效,除非行太长并开始换行,这使此宏取决于帧的宽度。next-line
似乎并没有转到下一个实际行,而是到了当前行的“包装”部分。
如何解决这个问题?
我创建了一个键盘宏来使用以下命令将缓冲区中的行连接起来:
F3 C-n M-x join-line
RET F4。
它行之有效,除非行太长并开始换行,这使此宏取决于帧的宽度。next-line
似乎并没有转到下一个实际行,而是到了当前行的“包装”部分。
如何解决这个问题?
Answers:
您有两个 三个选择:
在定义宏时使用next-logical-line
代替next-line
:
垂直向下移动光标
ARG
。相同之处在于next-line
,它总是按逻辑线而不是视觉线移动,而忽略变量的值line-move-visual
。
设置line-move-visual
为nil
:
(setq line-move-visual nil)
这使next-line
行为类似于next-logical-line
默认情况。
通过执行以下操作打开行截断
M-x toggle-truncate-lines
RET
在录制宏之前。
<down>
或C-n
可使您向下一行,而不是跳过行边界。认为不是每个用户都来自记事本(根本没有换行符)... Imo,例外情况next-logical-line
是预期行为,在这种情况下,我经常倾向于visual-line-mode
完全禁用。并+1 @itsjeyd,根据情况获得任何一种行为都非常好。
C-n
到next-logical-line
。;)
next-line
目前的行为next-logical-line
的,但...