以下を使用して、バッファー内の行を結合するキーボードマクロを作成しました。
F3 C-n M-x join-line
RET F4。
行が長すぎて折り返され始める場合を除き、正常に機能します。これにより、このマクロはフレームの幅に依存します。next-line
次の実際の行に移動するようではなく、現在の行の「ラップ」部分に移動するようです。
その問題を回避する方法は?
以下を使用して、バッファー内の行を結合するキーボードマクロを作成しました。
F3 C-n M-x join-line
RET F4。
行が長すぎて折り返され始める場合を除き、正常に機能します。これにより、このマクロはフレームの幅に依存します。next-line
次の実際の行に移動するようではなく、現在の行の「ラップ」部分に移動するようです。
その問題を回避する方法は?
回答:
次の2つの 3つのオプションがあります。
マクロを定義するときに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
、行の境界を越えてジャンプするのではなく、1行下に移動することが期待されます。(何行の折り返しが全く存在しない場合)それはないすべてのユーザーがメモ帳から来ていると考えて...芋、例外は状況かなりあるnext-logical-line
行動を期待されているが、これらの状況で、私は多くの場合、無効にする傾向がありvisual-line-mode
、完全に。@itsjeydを+1すると、状況に応じてどちらかの動作を取得できるのは本当に素晴らしいことです。
C-n
しますnext-logical-line
。;)
next-line
現在の動作を好むのでしょうか?next-logical-line