以下を使用して、バッファー内の行を結合するキーボードマクロを作成しました。
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