English help on website



カーソル関連キーワード(Ver9.24対応版)
目次内部的な値を表現するキーワード− カーソル関連キーワード
x    カーソルのx座標を表します。
カーソルが一番左にいる時が0です。

タブ文字は、固定ピッチフォントの場合は見た目上のタブの文字数分で数えます。
プロポーショナルフォントの場合はタブは1文字として数えます。

Unicode独自の文字は、固定ピッチフォントの場合は、表示されている文字の幅によって半角相当であれば1、全角相当であれば2になります。
プロポーショナルフォントの場合は4として数えます。

TSV/CSV/自由配置モードのときは、固定ピッチフォントであってもプロポーショナルフォント扱いになります。


y    カーソルのy座標を表します。y座標は、現在編集中のテキストの先頭行からワープロ的に行番号を計算した値です。
一番上にいる時が0です。

column    カーソルのカラム位置を表します。カラム位置は、論理行頭(直前の改行文字の次)から現在のカーソル位置までの文字数を数えた値です。
カーソルが論理行頭にいる時が0です。
半角は1文字、全角は2文字、タブ文字は1文字として数えられます。
プロポーショナルフォントの場合でも、文字の幅によって半角相当は1文字、全角相当は2文字として数えられます。
結合文字は実際に幅として現れなくても文字数に加算されます。
文字の単位ごとに各種のバリエーションがあります。
(column_wcs, column_ucs4, column_cmu, column_gcu)

lineno    カーソル位置の、エディタ的に計算した行番号を表します。
ファイルの先頭が1です。

tabcolumn    タブストップごとに数えた位置、またはTSVモード/CSVモードのタブ区切り/カンマ区切りの位置で、カーソルがどの位置に含まれるかを表します。(V8.88以降)
forwardtab, backtabの数え方と対応しています。
0から数えます。
現在のテキスト内容から得られる最大の値はtabcolumnmaxで取得できます。(V8.98以降)

xview    カーソルの見た目上のx座標を表します。(V8.81以降)
xは場合によっては見た目上の位置ではなく文字のカウントの仕方によって見た目上の座標ではないことがありますが、xviewは見た目上の座標を表します。
例えば、プロポーショナルフォントやTSV/CSVモードの場合、xはタブ文字は1文字としてカウントされますが、xviewは見た目上の位置で表されます。
[その他]→[動作環境]→[編集]→[高度な編集2]の「タブ文字の上にカーソル移動した時」が「貫通する」のときに移動できる場所でも、正確に表します。
この値を使った位置に移動するには、movetoview文を使います。

code    カーソル位置の文字コードを表します。
2バイト文字の場合は2バイトのコードを返します。例えば全角空白の場合は0x8140になります。
フリーカーソルモードの時に、カーソルが改行文字より後ろに位置する場合はcodeの値は0になります。
改行文字の上の場合は0x0Dになります。(改行コードがCR/LF/CR+LFのいずれであっても0x0Dになります)
ファイルの最後の[EOF]の上の場合は-1(eofという定数と同じ値)になります。
文字コードは、Unicodeではなく適用されるフォントの文字セットによる文字コードで、通常はShift-JISになります。
Unicodeの文字コードの場合はunicodeキーワードを使ってください。

unicode    カーソル位置のUnicodeのコードを表します。
U+10000以上のUTF-16でサロゲートペアとなる文字も0x10000以上の数値として取得できます。
文字のUnicodeの文字コードを返すunicode関数と同名ですが、違うので注意が必要です。

colorcode    カーソル位置の文字の色コードを返します。色コードの意味は以下のようになります。
0x00000000 ... 普通の文字
0x00000019 ... スクリプト部分
0x00000004 ... 強調表示1
0x00000007 ... 強調表示2
0x00000016 ... 強調表示3
0x00000017 ... 強調表示4
0x00004004 ... 強調表示5
0x00004007 ... 強調表示6
0x00004016 ... 強調表示7
0x00004017 ... 強調表示8
0x0000001B ... 数値(V7.08以降)
0x00000014 ... 文字定数
0x0000000D ... HTMLタグ全体
0x0000000E ... HTMLタグのエレメント
0x0000000F ... HTMLタグのアトリビュート
0x00000006 ... 行の強調表示1
0x00000009 ... 行の強調表示2
0x00004006 ... 行の強調表示3
0x00004009 ... 行の強調表示4
0x00000003 ... コメント
0x0000001A ... #ifdef等での無効部分
0x0000000C ... メールアドレス
0x0000000B ... ホームページURL
0x00000015 ... ファイル名と思わしき場所
0x00000005 ... 特に強調表示1
0x00000008 ... 特に強調表示2
0x00004005 ... 特に強調表示3
0x00004008 ... 特に強調表示4

さらに、以下の値が組み合わされます。(OR演算された値となります)
0x00000020 ... タブ文字
0x00000040 ... 全角空白(記号表示ONの時のみ)
0x00000080 ... 半角空白(記号表示ONの時のみ)
0x00000100 ... 範囲選択
0x00000200 ... 制御コード(0x01〜0x1Fで、タブ,改行,EOF以外の文字)
0x00000400 ... 「...を開く」が出来る場所(URL、Email、ファイル名部分)
0x00000800 ... 「...を秀丸エディタで開く」が出来る場所(ファイル名部分)
0x00001000 ... Email部分
0x00010000 ... 検索文字列の強調
0x00080000 ... カラーマーカー
0x00100000 ... 幅ゼロのカラーマーカー

「普通の文字」〜「特に強調表示4」の色コードは、(colorcode & 0x401F)して取得できます。
(以前のヘルプでは色コードを0x001fで取得できるとしていましたが、強調5〜8,行の強調3〜4,特に強調3〜4は取得できないので、0x401fが適切です)

改行文字の上またはファイル末尾([EOF])の上、およびそれより後ろの位置ではcolorcodeは常に0になります。

カーソルが行末にある場合、colorcodeに角カッコの添え字を付けることで、行末の情報を得ることができます。(V8.00以降)
colorcode[1]は、行の強調があるときの改行以降の色、または改行の色を表します。
colorcode[2]は、複数行強調/コメントがあるときの、次の行へと続く色を表します。

参照:getcolormarker関数


marked    カーソル位置がマークされているかどうかを返します。

lineupdated    カーソル位置に編集マーク(編集した行)があるかどうかを返します。

xpixel    カーソルのX座標のピクセル位置を返します。(スクリーン座標)(V8.00以降)
参照:getPixelPosFromCursorPos

ypixel    カーソルのY座標のピクセル位置を返します。(スクリーン座標)(V8.00以降) 参照:getPixelPosFromCursorPos

xpixel2    カーソルのX座標のピクセル位置を返します。(編集エリア左上からの相対位置)(V9.22以降)

ypixel2    カーソルのY座標のピクセル位置を返します。(編集エリア左上からの相対位置)(V9.22以降)

prevposx    「前のカーソル位置」として記憶されているカーソル位置のX座標(xキーワードと同じ文字単位)を表します。(V8.75以降)

prevposy    「前のカーソル位置」として記憶されているカーソル位置のY座標(yキーワードと同じワープロ的)を表します。(V8.75以降)

lastupdatedx    最後に編集した所のX座標(xキーワードと同じ文字単位)を表します。(V9.15以降)

lastupdatedy    最後に編集した所のY座標(yキーワードと同じ文字単位)を表します。(V9.15以降)

mousecolumn    マウスカーソルの場所にある文字カーソルのcolumn相当の位置を表します。(V8.94以降)
参照:
mouselineno, mousecolumn
Hidemaru_GetCursorPosUnicodeFromMousePos
hidemaru.getCursorPosFromMousePos

mouselineno    マウスカーソルの場所にある文字カーソルのlineno相当の位置を表します。(V8.94以降)
参照:
mouselineno, mousecolumn
Hidemaru_GetCursorPosUnicodeFromMousePos
hidemaru.getCursorPosFromMousePos