Next: , Previous: , Up: ディスプレイの制御   [Contents][Index]


16.23 Visual Lineモード

Another alternative to ordinary line continuation (see 継続行) is to use word wrap. Here, each long logical line is divided into two or more screen lines, or “visual lines”, like in ordinary line continuation. However, Emacs attempts to wrap the line at word boundaries near the right window edge. (If the line’s direction is right-to-left, it is wrapped at the left window edge instead.) This makes the text easier to read, as wrapping does not occur in the middle of words.

単語での折り返しは、オプションのマイナーモードである、Visual Lineモードで有効になります。現在のバッファーでVisual Lineモードの有効と無効を切り替えるには、M-x visual-line-modeとタイプします。メニューバーからVisual Lineモードを有効にすることもできます(Optionsメニューから、サブメニュー‘Line Wrapping in this Buffer’の、メニューアイテム‘Word Wrap (Visual Line Mode)’を選択します)。Visual Lineモードが有効なときは、モードラインのモード表示に‘wrap’という文字が表示されます。コマンドM-x global-visual-line-modeは、全バッファーのVisual Lineモードを切り替えます。

単語折り返し(前セクションで説明)と行切り詰めは排他なので、visual-line-modeをオンにすると行切り詰めが無効になります。

Visual Lineモードでは、いくつかのコマンドは論理行ではなくスクリーン行に作用します。C-a (beginning-of-visual-line)はスクリーン行の先頭に移動し、C-e (end-of-visual-line)はスクリーン行の最後に移動、C-k (kill-visual-line)はテキストをスクリーン行の最後までkillします。

論理行単位で移動するには、コマンドM-x next-logical-lineまたはM-x previous-logical-lineを使います。これらのコマンドはVisual Lineモードが有効であるかにかかわらず、次または前の論理行に移動します。これらのコマンドを頻繁に使う場合は、キーを割り当てると便利でしょう。initファイル内でのキーのリバインドを参照してください。

デフォルトでは、単語の折り返し表示はフリンジに表示されません。Visual Lineモードは、長い論理行を含むファイルを編集するときに使われる場合があり、折り返し行すべてにフリンジの表示をすると見にくくなるためです。これを変更するには、変数visual-line-fringe-indicatorsをカスタマイズしてください。

デフォルトではEmacsはSPCTABのような空白文字の後でのみ行ブレークを行い、EN QUADのような空白文字の後での行ブレークは行いません。Emacsはカレントモードでの単語折り返しを切り替えるword-wrap-whitespace-modeと呼ばれるマイナーモードを提供しています。このモードはどの文字で行の折り返しを行うかをユーザーオプションword-wrap-whitespace-charactersにもとづいてセットアップします。

CJKとLatinが混ざったテキストでは、空白文字の後でのみブレークすると正しくない結果を生成するかもしれません(CJKは単語区切りに空白文字を使用しないため)。CJK文字にたいしてより良いサポートを提供するために任意の‘|’カテゴリー(Categories in the Emacs Lisp Reference Manualを参照)の文字の後でEmacsが行ブレークできるように、オプションword-wrap-by-categoryをカスタマイズできます。この変数がCustomizeを使用してセットされていると、Emacsは自動的にkinsoku.elをロードします。kinsoku.elのロード時には、Emacsは行ブレークする際に禁足規則にしたがいます。これは‘>’カテゴリーの文字(たとえばU+FF0C FULLWIDTH COMMA)が行頭、‘<’カテゴリーの文字(たとえばU+300A LEFT DOUBLE ANGLE BRACKET)が行末に出現しないことを意味します。コマンドchar-category-setcategory-set-mnemonicsを使用してカテゴリーを閲覧したり、あるいはポイント上でC-u C-x =とタイプして結果の“category”セクションを調べることができます。コマンドmodify-category-entryを使用して、文字にカテゴリーを追加できます。

This page has generated for branch:master, commit:762705fb24fd90db318f2e51c1e762452d26f7e2 to check Japanese translation.