コメント記号と複数行同時入力No.19428
rikkey さん 05/06/11 13:32
 
2点ほど質問があります。

1、コメント記号について

コメント記号を拡張子別に設定できる機能が以前あったと
思うのですが、バージョンアップされて、その設定箇所が
わからなくなってしまいました。どこで設定をすれば
いいのでしょうか?
あと、行コメントを複数個(たとえば、//と--のどちらも
行コメントとして認識するなど)設定できたり、
ブロックコメント(/* */など)も設定できるとありがたいの
ですが、そのような設定は可能でしょうか。

2、複数行同時入力について

複数行を同時に入力する機能はありますでしょうか?
私はVHDLを記述するのに本エディタを使用しているのですが、

 aaa : std_logic;
 bbb : std_logic;
 ccc : std_logic;

上記の「std_logic」の部分のように複数行にわたって同じ
記述を行いたいことがあります。
そのような機能は持ってないでしょうか?また、もし
なければ、このような機能を実装していただけると、
大変ありがたいのですが、いかがでしょうか。

[ ]
RE:19428 コメント記号と複数行同時入力No.19429
アルビレオ さん 05/06/11 14:21
 
秀丸ユーザーのアルビレオです。

>1、コメント記号について

>コメント記号を拡張子別に設定できる機能が以前あったと
>思うのですが、バージョンアップされて、その設定箇所が
>わからなくなってしまいました。どこで設定をすれば
>いいのでしょうか?

[その他][ファイルタイプ別の設定][表示とカラー][モード]ですね。
そこを見ればわかりますが、「HTML」「C言語」のようにあらかじめ用意された
ものから選択することしかできません。

>あと、行コメントを複数個(たとえば、//と--のどちらも
>行コメントとして認識するなど)設定できたり、
>ブロックコメント(/* */など)も設定できるとありがたいの
>ですが、そのような設定は可能でしょうか。

こちらは「コメント」としてでなく、強調表示を自分で定義すればほぼ同じこと
ができますが、正規表現は行単位でマッチングを行うので複数行にわたるコメン
トは先に書いた[モード]の設定で対処する必要があります。

>2、複数行同時入力について
>
> aaa : std_logic;
> bbb : std_logic;
> ccc : std_logic;
>
>上記の「std_logic」の部分のように複数行にわたって同じ
>記述を行いたいことがあります。
>そのような機能は持ってないでしょうか?また、もし
>なければ、このような機能を実装していただけると、
>大変ありがたいのですが、いかがでしょうか。

カーソル位置は1つしかないのでユーザーインターフェイスが…具体的にどのよ
うな操作で行うのかも提案しないと作者としても手をつけにくいし、もし実現し
ても使いにくくなってしまうかもしれません。

現状でできる代替案としては「行の二重化」をどこかにキー割り当てしておいて
std_logic;
だけを先に書いて行の二重化で
std_logic;
std_logic;
std_logic;
としてから「aaa :」などの部分を書くとか。
この方法はあまり使いやすいとは思いませんが、もし「複数行同時入力」を実装
しようとしてもそれ以上に面倒な操作手順になりそうな気がしてしまいます。

[ ]
RE:19428 コメント記号と複数行同時入力No.19430
でるもんた さん 05/06/11 14:32
 
でるもんたです。

> 複数行を同時に入力する機能はありますでしょうか?
> 私はVHDLを記述するのに本エディタを使用しているのですが、
>
>  aaa : std_logic;
>  bbb : std_logic;
>  ccc : std_logic;
>
> 上記の「std_logic」の部分のように複数行にわたって同じ
> 記述を行いたいことがあります。
> そのような機能は持ってないでしょうか?

私はハードウェア系は全然いじらないので、まず
 : std_logic;
と書いてから必要な行数だけペースト、そのあと aaa、bbb、… を入力します。
: のあとの部分が長くなりそうな場合は、まず1つだけ完成させて、それがうまく
動作することを確認してから他の部分をペーストします。

あるいは、その部分を当該言語で関数なりマクロなりとして書いて、その名前を
並べます。

同時にタイプして複数が出てくるというのは可能だと思いますが、それを実装する
のは、難易度はともかくとして、かなりの力仕事になりそうですね。

[ ]
RE:19429 コメント記号と複数行同時入力No.19431
rikkey さん 05/06/11 18:54
 
アルビレオさん。
ご回答ありがとうございます。

実はこの2つの機能は、私の知り合いが使用している
「サクラエディタ」という名称のエディタが持っている機能で、
非常に便利そうなので、秀丸でもできたらいいなと思い投稿して
みました。
ただ、それ以上に秀丸には良い点がありますので、今後も使用
し続けていきたいと思っています。


>
>[その他][ファイルタイプ別の設定][表示とカラー][モード]ですね。
>そこを見ればわかりますが、「HTML」「C言語」のようにあらかじめ用意された
>ものから選択することしかできません。
>

なるほど、あらかじめモードが用意されているんですね。
ただ、私の場合、あまり一般的ではない言語(e言語:検証用言語)
なども使用し、そのコメントが上記モードに当てはまらないので
ちょっと、残念です。

新たにモードを設けてもらうとか、自分でコメント記号を選択できる
ように変更していただくことはできるのでしょうか?
(上記のサクラエディタでは、自分でコメント記号を選択できるよう
になっています)

>
>こちらは「コメント」としてでなく、強調表示を自分で定義すればほぼ同じこと
>ができますが、正規表現は行単位でマッチングを行うので複数行にわたるコメン
>トは先に書いた[モード]の設定で対処する必要があります。

やはり、今の状態で使いこなすのであれば、提案していただいた
方法しかなさそうですね。


>
>カーソル位置は1つしかないのでユーザーインターフェイスが…具体的にどのよ
>うな操作で行うのかも提案しないと作者としても手をつけにくいし、もし実現し
>ても使いにくくなってしまうかもしれません。
>

はい、確かにそうですね。

たとえば、複数行入力のスタート地点と終了地点をカーソルで
選べるようにすればいいと思います。

操作としては、カーソルを複数行入力したいポイントにもってきて
複数行入力スタート地点指定のコマンドを実行、そこから入力したい
行数分だけ、上下矢印キーでカーソルを移動(この間のカーソルは
上下のみにしか移動しない)させ、終了地点指定のコマンドを実行する
と、複数行入力モードに入る。ここから行うキー入力は、上記で指定
した複数行にわたって行われる。複数行入力モードの解除は、矢印キー
のどれかを押す。(Escキーでも良い)

(上記のサクラエディタでは、矩形選択モードで選択された範囲
に同時入力できるようになっています)


[ ]
RE:19431 コメント記号と複数行同時入力No.19432
アルビレオ さん 05/06/12 00:47
 
アルビレオです。

>新たにモードを設けてもらうとか、自分でコメント記号を選択できる
>ように変更していただくことはできるのでしょうか?
>(上記のサクラエディタでは、自分でコメント記号を選択できるよう
>になっています)

サクラエディタを使ったことがないのでそちらではどうなっているかわかりませ
んが、秀丸の場合は文字列定数やコメント内の特殊記号を無視したり「行の継
続」記号に対応したりということもしているので、単純に任意の記号を追加する
のは難しいみたいです。
でも以前に作者さんから「検討課題としておく」というコメントがあったので将
来は実現するかもしれません。(あくまでも可能性であって、ずっとこのままか
もしれませんが)

>たとえば、複数行入力のスタート地点と終了地点をカーソルで
>選べるようにすればいいと思います。
>
>操作としては、カーソルを複数行入力したいポイントにもってきて
>複数行入力スタート地点指定のコマンドを実行、そこから入力したい
>行数分だけ、上下矢印キーでカーソルを移動(この間のカーソルは
>上下のみにしか移動しない)させ、終了地点指定のコマンドを実行する
>と、複数行入力モードに入る。ここから行うキー入力は、上記で指定
>した複数行にわたって行われる。複数行入力モードの解除は、矢印キー
>のどれかを押す。(Escキーでも良い)

これもサクラエディタがどうやっているかを確かめた方が早いんでしょうけど、
気になるのは「各行の挿入する桁位置はどうなるの?」ってことですね。

012345
012
0123

のように桁がバラバラだと、どこに挿入すればいいのか。
矩形選択だとなおさらわかりにくくなる気がします。特にフリーカーソルモード
でなくて行末より右にカーソルを移動できないときに。

カーソルの桁位置は無視して常に各行の行末に挿入することにすれば、マクロで
もなんとかできそうです。というかそういうルールなら組み込み機能にしたとこ
ろでマクロでやれる以上のことはできそうにないから不要だ、という結論になる
かもしれませんが。

あればうれしい人はそこそこいるでしょうけど、どう使えばいいのかわからなく
て混乱する人はもっと多くなりそうな機能ですからねぇ。

[ ]
RE:19432 コメント記号と複数行同時入力No.19433
rikkey さん 05/06/12 23:54
 
rikkeyです。

>
>サクラエディタを使ったことがないのでそちらではどうなっているかわかりませ
>んが、秀丸の場合は文字列定数やコメント内の特殊記号を無視したり「行の継
>続」記号に対応したりということもしているので、単純に任意の記号を追加する
>のは難しいみたいです。
>でも以前に作者さんから「検討課題としておく」というコメントがあったので将
>来は実現するかもしれません。(あくまでも可能性であって、ずっとこのままか
>もしれませんが)

以前にもそういう要求がでていたんですね。
おっしゃるとおり、そんなに簡単に追加できる機能では
ないみたいですね。
将来に実現することに期待したいと思います。


>これもサクラエディタがどうやっているかを確かめた方が早いんでしょうけど、
>気になるのは「各行の挿入する桁位置はどうなるの?」ってことですね。

これは、スタート位置を決めた時の桁に固定というイメージ
でした。
スタート位置を決めるときに挿入を始めたい行と桁を決定して
そこから挿入したい行数分だけ上下矢印キーでカーソルを
移動してから入力を開始するイメージです。
行頭に複数行同時入力するマクロは見つけたので今はそれを
使用しているのですが、行の途中から(特定の桁から)
同時に入力できるマクロは見つけられませんでした。


>
>012345
>012
>0123
>
>のように桁がバラバラだと、どこに挿入すればいいのか。
>矩形選択だとなおさらわかりにくくなる気がします。特にフリーカーソルモード
>でなくて行末より右にカーソルを移動できないときに。
>
>カーソルの桁位置は無視して常に各行の行末に挿入することにすれば、マクロで
>もなんとかできそうです。というかそういうルールなら組み込み機能にしたとこ
>ろでマクロでやれる以上のことはできそうにないから不要だ、という結論になる
>かもしれませんが。
>
>あればうれしい人はそこそこいるでしょうけど、どう使えばいいのかわからなく
>て混乱する人はもっと多くなりそうな機能ですからねぇ。

やはり、結構たいへんな事を要求しているみたいですね。
秀丸でこの機能を実現するのは難しそうなので、
これも同じく将来に実現されることに淡い期待を持ちながら、
今後もこのエディタを使っていきたいと思います。


[ ]
RE:19433 コメント記号と複数行同時入力No.19435
秀丸担当 さん 05/06/13 14:51
 

>以前にもそういう要求がでていたんですね。
>おっしゃるとおり、そんなに簡単に追加できる機能では
>ないみたいですね。
>将来に実現することに期待したいと思います。

アルビレオさんの言われる通り、複数行のカラー表示は現在のところ固定のもの
しかできません。
自由にカスタマイズしたいという要望もあるので、課題となっています。

>やはり、結構たいへんな事を要求しているみたいですね。
>秀丸でこの機能を実現するのは難しそうなので、
>これも同じく将来に実現されることに淡い期待を持ちながら、
>今後もこのエディタを使っていきたいと思います。

アルビレオさんの言われる通り、こういった機能は秀丸にはありません。
確かに修正するとしたら大変かもしれないですが、困難な壁があるわけではない
と思います。
今後の開発に意見を参考にしたいと思います。

[ ]
RE:19435 コメント記号と複数行同時入力No.19439
rikkey さん 05/06/14 00:30
 
rikkeyです。
ご回答ありがとうございます。
期待していますので、開発の方がんばってください。

>
>>以前にもそういう要求がでていたんですね。
>>おっしゃるとおり、そんなに簡単に追加できる機能では
>>ないみたいですね。
>>将来に実現することに期待したいと思います。
>
>アルビレオさんの言われる通り、複数行のカラー表示は現在のところ固定のもの
>しかできません。
>自由にカスタマイズしたいという要望もあるので、課題となっています。
>
>>やはり、結構たいへんな事を要求しているみたいですね。
>>秀丸でこの機能を実現するのは難しそうなので、
>>これも同じく将来に実現されることに淡い期待を持ちながら、
>>今後もこのエディタを使っていきたいと思います。
>
>アルビレオさんの言われる通り、こういった機能は秀丸にはありません。
>確かに修正するとしたら大変かもしれないですが、困難な壁があるわけではない
>と思います。
>今後の開発に意見を参考にしたいと思います。

[ ]
RE:19433 コメント記号と複数行同時入力No.19440
IKKI さん 05/06/14 00:50
 
IKKI と申します。こんばんは。

矩形編集機能についてマクロでの実現を考えてみました。

◆結論

サクラエディタと同じ動作は秀丸マクロでは実現困難です。
英数字限定なら何とか可能ですが、 IME 経由の入力に対応できません。
アンドゥも1回では済みません。

◆代替案

次のような使い方をするマクロなら比較的簡単に作れそうです。

 1. 矩形選択する
 2. マクロ実行
 3. ダイアログが出る → 文字列を入力
 4. [ OK ] を押す → 文字列が各行に書き込まれる

マクロの例題として挑戦してみてはいかがでしょうか。

◆感想

秀丸は矩形編集に弱いところがありますね。個人的には
BOX 選択範囲をドラッグ&ドロップできたらいいのに…と思ったりもします。

---------------------------------------------------------------------

◆代替案の例

if (!rectselecting) {
 message "BOX 選択してください";
 endmacro;
}
if (!freecursor) {
 freecursorswitch;
 #switched = 1;
}
$text = input("矩形挿入", "");
##x1 = seltopx;
##y2 = selendy;
moveto seltopx, seltopy;
escape;
while (y <= ##y2) {
 insert $text;
 moveto ##x1, y + 1;
}
if (#switched) {
 freecursorswitch;
}

これは素朴な例にすぎませんが、サクラエディタの動作には近いと思います。
行が折り返してたらどうするか、全角文字の真ん中をまたいだらどうするか、
アンドゥを1回で済ませる方法はないか…など、奥は深いかもしれません。
(サクラエディタはあまり深く考えていないようです…? (^^; )

[ ]
RE:19440 コメント記号と複数行同時入力No.19441
アルビレオ さん 05/06/14 02:26
 
アルビレオです。

>秀丸は矩形編集に弱いところがありますね。個人的には
>BOX 選択範囲をドラッグ&ドロップできたらいいのに…と思ったりもします。

完全に雑談ですが、秀丸はプロポーショナルフォント表示や縦書き表示など、矩
形編集を困難にする要素がいろいろありますからねぇ。
他のエディタではどうしているんだろう?

[ ]
RE:19441 コメント記号と複数行同時入力No.19460
IKKI さん 05/06/14 21:26
 
IKKI です。雑談です。

> >BOX 選択範囲をドラッグ&ドロップできたらいいのに…と思ったりもします。
>
> 完全に雑談ですが、秀丸はプロポーショナルフォント表示や縦書き表示など、矩
> 形編集を困難にする要素がいろいろありますからねぇ。

プロポーショナルフォントのときは矩形編集不可で…
縦書き表示は本質的な処理は横書きと変わらないはず(実装が大変かどうかは
何とも言えないけど)…

> 他のエディタではどうしているんだろう?

試した限りでは、
サクラエディタ、 Peggy Pad は矩形範囲のドラッグ&ドロップが可能ですね。

矩形選択中に文字入力したときの動作はまちまちなようで、
TEditor 系は秀丸と同様に「選択範囲を矩形削除&1行目に入力」、
xyzzy は左上から右下まで文字列選択中に入力したときと同じ動作でした。
サクラエディタの動作は独特ですが、もっとも実用的かもしれません。

ViVi は……個人的に vi 嫌いなので試してません。(^^;

[ ]
RE:19460 コメント記号と複数行同時入力No.19461
IKKI さん 05/06/14 21:39
 
IKKI です。

> ViVi は……個人的に vi 嫌いなので試してません。(^^;

試してみました。
矩形範囲のドラッグ&ドロップでは、グラフィックソフトで選択範囲を
移動したときのように、ドロップ先が上書きされました。これも独特ですね。
矩形選択中の文字入力では、範囲選択前のカーソル位置に入力されました。
矩形範囲はカーソル位置とは別に管理してるようです。

たまに他のエディタも触ってみると面白いですね。

# 秀丸の公式フォーラムでの話題としては不適切だったかもしれません。
 失礼しました。

[ ]
RE:19440 コメント記号と複数行同時入力No.19462
rikkey さん 05/06/15 00:25
 
rikkeyです。

IKKIさん、ご返答ありがとうございます。
代替案でも、かなり便利になります。
ほんとうにありがとうございました。


>IKKI と申します。こんばんは。
>
>矩形編集機能についてマクロでの実現を考えてみました。
>
>◆結論
>
>サクラエディタと同じ動作は秀丸マクロでは実現困難です。
>英数字限定なら何とか可能ですが、 IME 経由の入力に対応できません。
>アンドゥも1回では済みません。
>
>◆代替案
>
>次のような使い方をするマクロなら比較的簡単に作れそうです。
>
> 1. 矩形選択する
> 2. マクロ実行
> 3. ダイアログが出る → 文字列を入力
> 4. [ OK ] を押す → 文字列が各行に書き込まれる
>
>マクロの例題として挑戦してみてはいかがでしょうか。
>
>◆感想
>
>秀丸は矩形編集に弱いところがありますね。個人的には
>BOX 選択範囲をドラッグ&ドロップできたらいいのに…と思ったりもします。
>
>---------------------------------------------------------------------
>
>◆代替案の例
>
>if (!rectselecting) {
> message "BOX 選択してください";
> endmacro;
>}
>if (!freecursor) {
> freecursorswitch;
> #switched = 1;
>}
>$text = input("矩形挿入", "");
>##x1 = seltopx;
>##y2 = selendy;
>moveto seltopx, seltopy;
>escape;
>while (y <= ##y2) {
> insert $text;
> moveto ##x1, y + 1;
>}
>if (#switched) {
> freecursorswitch;
>}
>
>これは素朴な例にすぎませんが、サクラエディタの動作には近いと思います。
>行が折り返してたらどうするか、全角文字の真ん中をまたいだらどうするか、
>アンドゥを1回で済ませる方法はないか…など、奥は深いかもしれません。
>(サクラエディタはあまり深く考えていないようです…? (^^; )

[ ]