Next: , Previous: Continuation Lines, Up: Basic


3.9 カーソル位置の情報

バッファのある部分の大きさや位置に関する情報を得るコマンドや 行を数えるコマンドを紹介します。

M-x what-page
ポイントがあるページの番号とそのページ内での行番号を表示する。
M-x what-line
ポイントがある行のバッファ内での行番号を表示する。
M-x line-number-mode
現在行の自動行番号表示をオン/オフする。
M-=
カレントリージョンの行数を表示する(count-lines-region)。 リージョンに関しては、see Mark
C-x =
ポイントの直後にある印字文字の文字コード、ポイントの文字位置、 ポイントの桁位置を表示する(what-cursor-position)。

行番号に関するコマンドは2つあります。 M-x what-lineは現在行の行番号を計算して、エコー領域に表示します。 指定した行番号の行へ移動するには、M-x goto-lineを使います。 このコマンドは、行番号を聞いてきます。 これらの行番号は、バッファの先頭を1行目と数えます。

モード行で現在行の行番号を知ることもできます。 See Mode Line。 バッファをナロイングしてある場合、 モード行中の行番号は参照可能な範囲内での相対的なものになります (see Narrowing)。 対照的に、what-lineは、 ナロイングされた範囲内での行番号と、 バッファ全体での行番号の両方を表示します。

これに対し、M-x what-pageは、ファイルの先頭からページを数え、 さらにページ内での行番号も数えて、両方を表示します。 See Pages

この話題に関連して、 M-=count-lines-region)も説明しておきましょう。 これは、リージョンの行数を数えて表示します(see Mark)。 カレントページの行数を数えるコマンドC-x lについては、See Pages

コマンドC-x =what-cursor-position)は、 カーソルがある箇所の桁位置を求めたり、 ポイントに関するその他の種々の情報を得るために使います。 エコー領域につぎのように表示します。

     Char: c (0143, 99, 0x63)  point=21044 of 26883(78%)  column 53

(これは、例の中の‘column’のまえにポイントがあるときの実際の出力。)

Char:’のあとの4つの値は、ポイントの直後の文字を表していて、 文字そのもの、続いて、文字コードの8進表示、10進表示、16進表示です。 非ASCIIのマルチバイト文字に対しては、 バッファのコーディングシステムにおいて当該文字をまちがいなく、かつ、 単一バイトで符号化できる場合には、 ‘ext’とバッファのコーディングシステムで表した文字コードの16進表示が 続きます(see Coding Systems)。 文字の符号が1バイトより長い場合には、 Emacsは‘ext ...’を表示します。

point=’のあとは、ポイント位置を文字単位に数えたものです。 バッファの先頭を位置1、つぎの1文字を2、というように数えます。 つぎの大きな数字はバッファ内の総文字数です。 続く括弧の中は、ポイント位置の全サイズに対する百分率です。

column’に続くものは、ウィンドウの左端からの桁数で表した ポイントの水平位置です。

バッファをナロイングしていて、バッファの先頭と末尾のテキストの一部が 表示されていない場合、C-x =は、 現在参照可能な範囲に関する情報も表示します。 たとえばつぎのようになります。

     Char: C (0103, 67, 0x43)  point=252 of 889(28%) <231 - 599>  column 0

ここで、新たに追加された2つの数字が、 ポイントを設定できる文字位置の下限と上限を示します。 これら2つの位置のあいだの文字が参照可能な文字です。 See Narrowing

ポイントがバッファの末尾(あるいは参照可能な部分の末尾)にある場合、 C-x =は、ポイントの直後の文字に関する情報は表示しません。 出力はつぎのようになります。

     point=26957 of 26956(100%)  column 0

C-u C-x =は、バッファ内の位置と桁位置のかわりに、 文字に関する追加情報、つまり、 文字集合名とその文字集合内でその文字を識別するコードを表示します。 ASCII文字は、文字集合ASCIIに属するものと識別します。 さらに、文字を完全に符号化するのに単一バイトより多く必要な場合であっても、 ‘ext’のあとに文字コードを表示します。 コーディングシステムがiso-2022-7bitであるバッファ内にある Latin-1のアクサングレーブ付きの文字Aの例を示します。 1

     Char: À (04300, 2240, 0x8c0, ext ESC , A @) (latin-iso8859-1 64)

Footnotes

[1] Latin-1文字を表示できる端末であれば、 ‘Char:’のあとに表示される文字は、実際に、 アクサングレーブ付きの文字Aになる。