[リストへもどる]
一括表示
タイトル選択について
記事No3040
投稿日: 2005/03/13(Sun) 15:56
投稿者Hello World
はじめまして、こんにちは。
K2Editorについて教えてください。

たとえば、次のような行があったとします。
  } else {
↑行の先頭で [ Ctrl + Shift + → ]で選択した場合、
'半角スペース全て'+'}' が選択されます。

ここで、'半角スペース全て' だけを
選択するようにしたいのですが、可能でしょうか?
可能でしたら、設定の方法を教えて頂けないでしょうか。

K2Editor r.1.4.30 Build 501

よろしくお願いいたします。

タイトルRe: 選択について
記事No3042
投稿日: 2005/03/14(Mon) 09:17
投稿者 < >
参照先http://www4.ocn.ne.jp/~kaerume/k2e/
こんにちは。永です。

> ここで、先頭のスペースだけを選択するようにしたいのですが、
> 可能でしょうか?

 残念ながら出来ません。

 行頭のスペースを選択状態にするだけであれば、正規表現を使って、‘^[ \t]+’を
検索することで実現できますが、カーソル移動としては実現出来ません。

タイトルRe^2: 選択について
記事No3044
投稿日: 2005/03/14(Mon) 10:11
投稿者K2
K2です。

ワード単位移動機能について、あまり意識したことがなかった
もので、手持ちのエディタについて調べてみました。
エディタによって、動作はまちまちですね...

K2Editorでは、コアの編集コンポーネントであるTEditorの
ワード移動機能をそのまま使っています。この機能では、
シンボル(今回の例では「{」)は文字としては扱いません。
しかし、半角空白は文字として扱うような仕様になって
います。個人的にはちょっと中途半端な感じがします。

Hello Worldさんの望み動作の方が、私は個人的に
好きなのですが、そういう風に変更しても他の人は問題ない
でしょうか? 
今回の件に関してはオプションで分けるまでの機能ではないと
思いますので、もし変更するなら前の動作には戻れなくなります。
意見を募集します。

タイトルRe^3: 選択について
記事No3047
投稿日: 2005/03/14(Mon) 12:07
投稿者 < >
参照先http://www4.ocn.ne.jp/~kaerume/k2e/
K2 さん こんにちは。永です。

> Hello Worldさんの望み動作の方が、私は個人的に
> 好きなのですが、そういう風に変更しても他の人は問題ない
> でしょうか?

 確認です。シンボル(記号)の連続を単語として扱うということでしょうか?

 以下のような文の場合、どうなるでしょうか?
Img.Canvas.CopyRect(DstRect, BaseImg.Canvas, Rect(0, 0, 100, 100));

# 決して今書いているソースからそのままコピーした訳ではありません。
# ちょっと変えています (^^;

 行末のところは、‘100’の後に止まって、次に行末に動くようになるのでしょうか?

__result := nil;
# _は半角スペース2個と置き換えてください。
 だと、行頭から、「resultの前」,「resultの後」,「:=の前」,「:=の後」,
「nilの前」,「nilの後」,「行末」と移動していくようだとうれしいのですが。

 あと、問題はマクロだと思います。修正が必要なものは出てくるでしょう。
 個人的には問題ありません。そんなに凝ったマクロを使っていないので。

タイトルRe^4: 選択について
記事No3048
投稿日: 2005/03/14(Mon) 13:35
投稿者K2
K2です。

> > Hello Worldさんの望み動作の方が、私は個人的に
> > 好きなのですが、そういう風に変更しても他の人は問題ない
> > でしょうか?
>
>  確認です。シンボル(記号)の連続を単語として扱うということでしょうか?

 内部のParserでは、シンボルの連続は一つのトークンには
なりません。そのため、シンボルの連続は一文字づつの単語
区切りになってしまいます。

 これは、手持ちではWZ Ver.3(また古いのですが)の動作
と同じになります。

>  以下のような文の場合、どうなるでしょうか?
> Img.Canvas.CopyRect(DstRect, BaseImg.Canvas, Rect(0, 0, 100, 100));

Img|.|Canvas|.|CopyRect|(DstRect|,| |BaseImg|.|Canvas|,| |Rect|(|0|,| |0|,|100|,| |100|)|)|;

という感じでしょうか。元々が、

Img.|Canvas.|CopyRect(|DstRect,| |BaseImg.|Canvas,| |Rect(|0,| |0,| |100,| |100));|

という感じですから、かなり止まる箇所が多くなります。

もう少し手の込んだコーディングをすれば、シンボルの連続を
単語と扱うことはできると思います。

> __result := nil;
> # _は半角スペース2個と置き換えてください。
>  だと、行頭から、「resultの前」,「resultの後」,「:=の前」,「:=の後」,
> 「nilの前」,「nilの後」,「行末」と移動していくようだとうれしいのですが。

 もうちょっとたくさん止まりますね。私も永さんの案がいいと
思います。また時間がある時に、できるかどうか考えてみます。

 オプションで分けてもいいかもな〜という気もしてきた。

タイトルRe^5: 選択について
記事No3092
投稿日: 2005/04/03(Sun) 16:45
投稿者Hello World
お返事おそくなりました。Hello World です。

皆様、いろいろとご提案、ご検討ありがとうございます。

>
>  オプションで分けてもいいかもな〜という気もしてきた。

可能でしたら、オプションで分けて頂ければうれしいです。

とりあえず、正規表現やマクロで代用しようと思います。

ありがとうございました。

タイトルRe: 選択について
記事No3046
投稿日: 2005/03/14(Mon) 10:22
投稿者K2
K2です。

> ここで、'半角スペース全て' だけを
> 選択するようにしたいのですが、可能でしょうか?
> 可能でしたら、設定の方法を教えて頂けないでしょうか。

これを行うだけなら、マクロで、

Find([^\s], 0, 0, 1, 0, 1)
MoveLineStart, SHIFT
ClearFindItem

としてやれば、選択だけならできます。