CSVモードで文字の表示範囲がずれる場合がNo.31265
hawk-eye さん 12/06/13 16:31
 
Windows XP Pro SP3
秀丸エディタ Version 8.13 使用


以下のようなデータのCSVファイルをCSVモードで開き、
置換、やり直しなどの操作をすると、
ウィンドウ内の文字の表示範囲がずれてしまいます。

例えば、

1行が100カラムずつ表示できる状態で、
カーソルが3行目の行頭にある時に矢印キーの←を押すと
カーソルは2行目の最後に移動します。
その時のウィンドウ内の文字の表示範囲は273カラム目以降となります。

1234567890の10文字をコピーして、
2行目にあるAという文字を選択状態にしてCtrl+Vで張り付けると、
ウィンドウ内の文字の表示範囲が225行目以降からにずれてしまいます。
そして、その状態で、やり直しアイコンをクリックすると、
ウィンドウ内の文字の表示範囲が217行目以降にずれてしまいます。

ウィンドウ内の文字の表示範囲が一々ずれると編集しづらいのですが、
どうにかならないでしょうか?

●再現データ

1234567890,1234567,12345678,123456789012345678901234567890123456789012345678
9012345678901234567890123456789012345678901234567890123456789012345678901234
56789012345678901234567890123456789012345678901234567890123,1234567890123456
7890123456789012345678901234567890123456789012345678901234567890123456789012
34567890123456789012345678901234567890
1234567890,123,12,1234567890123456789012345,12345678901234567890123456789012
3456789012345678901234567890123456789012345678901234567890123A6789012345678
901234567890123456789012345678901234567890

※EOFは、3行目です。

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

[ ]
RE:31265 CSVモードで文字の表示範囲がずNo.31266
秀丸担当 さん 12/06/13 16:59
 

>以下のようなデータのCSVファイルをCSVモードで開き、
>置換、やり直しなどの操作をすると、
>ウィンドウ内の文字の表示範囲がずれてしまいます。

ご指摘ありがとうございます。
言われている通りの手順で横スクロール位置も同じになるようにしてやってみた
ところ、同じように再現できました。
確かに余計なスクロールが入っていて編集しずらいです。
無駄なスクロールが発生しないようにできないか調べてみます。

[ ]
RE:31266 CSVモードで文字の表示範囲がずNo.31267
秀丸担当 さん 12/06/14 10:05
 

調べてみたところ、範囲選択を削除するときスクロール位置の調整でおかしな点
がありました。
CSVモードだと症状が現れやすいですが、通常でもタブ文字が多く含まれるとき
や、プロポーショナルフォントで文字幅が大きく違うときも症状が出るときがあ
りました。
V8.20の次のβ版で修正させていただきます。

[ ]
RE:31267 CSVモードで文字の表示範囲がずNo.31282
hawk-eye さん 12/06/21 16:42
 
改訂履歴には書いてありませんでしたが、
秀丸エディタ Version 8.20 Beta 24 で
上記が修正されている事を確認しました。
ありがとうございました。


秀丸エディタ Version 8.20 Beta 24 で
他にも試してみたところ、
新たに関連した不具合を発見してしまいました。

例えば、前回の再現データで273カラム目以降が表示されている状態で、
1行目の306カラム目にカーソルを持ってきて、
Ctrlキーを押しながらドラッグして2行目の306カラム目で放して
BOX範囲選択(カラムはずらしていないので縦線のような状態)し、
半角文字を一文字入力すると25カラム目以降に表示範囲がずれてしまう。

例えば、前回の再現データで273カラム目以降が表示されている状態で、
1行目の306カラム目にカーソルを持ってきて、
Ctrlキーを押しながらドラッグして2行目の308カラム目で放して
BOX範囲選択(カラムは2カラム分横にずらした状態)し、
半角文字を一文字入力すると33カラム目以降に表示範囲がずれてしまい、
範囲選択も1,2行目の35〜36カラム目にずれてしまう。

例えば、
abcdefghij
abcdefghij
という2行分を事前にどこかでBOX範囲選択してコピーしておき、
前回の再現データで273カラム目以降が表示されている状態で、
1行目の306カラム目にカーソルを持ってきて、
Ctrlキーを押しながらドラッグして2行目の308カラム目で放して
BOX範囲選択(カラムは2カラム分横にずらした状態)し、
Ctrl+Vで張り付けると225カラム目以降に表示範囲がずれてしまう。

例えば、
abcdefghij
abcdefghij
という2行分を事前にどこかでBOX範囲選択してコピーしておき、
前回の再現データで273カラム目以降が表示されている状態で、
1行目の306カラム目にカーソルを持ってきて、
Ctrlキーを押しながらドラッグして2行目の306カラム目で放して
BOX範囲選択(カラムはずらしていないので縦線のような状態)し、
Ctrl+Vで張り付けると225カラム目以降に表示範囲がずれてしまい、
続けて、やり直しアイコンを1回クリックすると、張り付けた2行分が消え、
もう1回やり直しアイコンをクリックすると、
2行目306カラム目にカーソルが移動するだけで何も変わりません。
つまり、やり直し回数が1回多いようです。

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

[ ]
RE:31282 CSVモードで文字の表示範囲がずNo.31283
秀丸担当 さん 12/06/21 17:17
 

ご確認と報告ありがとうございます。
V8.20β24にて確かにBOX選択時の文字入力でずれることが確認できました。
BOX貼り付けでずれるのはV8.13以前から起きていました。
調べて修正させていただきます。

[ ]
RE:31283 CSVモードで文字の表示範囲がずNo.31290
hawk-eye さん 12/06/28 12:34
 
秀丸エディタ Version 8.20 Beta 25 で、
ずれる件が修正されている事を確認しました。
ありがとうございました。

ただ、私が一番最後に書いた、やり直し回数が1回多い件は直っていませんでした。

BOX範囲選択の操作で、Ctrlキーを押しながらドラッグして
縦幅は複数行で横幅は0カラム(縦線のような状態)にした場合、
文字入力した時とCtrl+Vで張り付けた時とで、
やり直し回数に違いが出てきます。
共にやり直し回数が1回で元に戻りますが、
Ctrl+Vで張り付けた時には、もう1回分何も変更されない回があります。

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

[ ]
RE:31290 CSVモードで文字の表示範囲がずNo.31291
秀丸担当 さん 12/06/28 13:25
 

ご確認ありがとうございます。
やり直しの回数の点についても再現できていましたが、調べてみたところ、仕様
による挙動ということがわかりました。
説明が不足して申し訳ありません。。
通常の範囲選択のときも同様で、秀丸エディタ特有の挙動ではありますが、範囲
選択された状態で削除と挿入が同時に行われるときは2回ぶんのやり直しに相当
するという挙動があります。
例えばBOX選択ではない通常の選択で、選択された状態でキー入力すると、削除
と挿入が同時にされますが、やり直しは2回になります。
それと、空行でShift+Endと操作したときなど、範囲がゼロの状態でDeleteキー
を押してもやり直しは働きます。
こういった挙動がBOX選択のときや貼り付けのときでも同じで、こういう仕様と
いうことでお願いします。

[ ]