キー登録No.34239
matushiro97 さん 15/06/21 07:30
 
scilabという数値計算ソフトの標準のエディターが使いにくいので,秀丸エディター
をその標準エディターに登録しようと考えています.
一般的な質問です.
言語の構文に対してインデントを自動的につけたり,キーワードに特別に設定した色
やフォントが自動的に表示されるなどの設定は可能だと思いますが,それらの設定情
報を個別に自力で登録するのは面倒です.
一般的にプログラムはそのような情報を独自のファイルでもっていて,それを秀丸で
吸い上げるまたはリンクするなどで,利用できるものでしょうか?

[ ]
RE:34239 キー登録No.34243
秀丸担当 さん 15/06/22 12:00
 

言語に関する設定情報は、秀丸エディタに標準に備わっているもの以外は、手動
で設定していただくか、既に作っている方がいて公開されていれば入手するか、
ということになります。

強調表示については、弊社のWebページにアップロードできる場所があります。
http://hide.maruo.co.jp/lib/index.html
ここの「秀丸エディタの強調表示定義ファイルライブラリ」で「scilab」で検索
してみたところでは見つかりませんでした。
Google検索してもうまく見つかりませんでした。「Matlab」の場合は幾つか情報
があるようです。

手動で設定するとしたら、[その他]→[ファイルタイプ別の設定]→[デザイン]→
[強調表示]で設定します。
ここに任意のキーワードを追加していきます。

コメントの色は、[その他]→[ファイルタイプ別の設定]→[デザイン]→[複数行
コメント]で設定します。
「//」をコメントにする場合、1つの追加だけでできます。
「ユーザー定義」を選んで、「追加...」して「オプション(O)>>」で「単一行
(行末まで)」にして、開始文字列に「//」を指定するとできます。

自動インデントについては、[その他]→[ファイルタイプ別の設定]→[体裁]→
[インデント]に自動インデントの設定があります。
これは改行を入力したとき前行の行頭の空白に合わせて自動的に入力する機能に
なります。
全体図を見るような機能のことだとしたら、[表示]→[アウトライン解析の枠]で、
設定は[その他]→[ファイルタイプ別の設定]→[アウトライン]→[解析]になりま
す。

[ ]
RE:34243 キー登録No.34254
matushiro97 さん 15/06/23 22:08
 
>
>言語に関する設定情報は、秀丸エディタに標準に備わっているもの以外は、手動
>で設定していただくか、既に作っている方がいて公開されていれば入手するか、
>ということになります。
>
>強調表示については、弊社のWebページにアップロードできる場所があります。
>http://hide.maruo.co.jp/lib/index.html
>ここの「秀丸エディタの強調表示定義ファイルライブラリ」で「scilab」で検索
>してみたところでは見つかりませんでした。

scilabには標準のエディターとしてscinoteというものがあり,そこでは各種の強調
表示や自動成形を行うので,その設定情報がscinoteのフォルダーにあるはずです.
一般的になりますが,これらの設定情報は一般的に読めるフィル形式が一般的なかた
ちなのでしょうか,それとも特殊なバイナリが多いのでしょうか.前者ならばその所
在を探して,そこか秀丸用に加工する道もありえます.
秀丸のほうは設定情報は一般的なファイル形式でしょうか.

宜しくお願いします.

[ ]
RE:34254 キー登録No.34255
IKKI さん 15/06/23 23:45
 
matushiro97さん、こんばんは。ユーザーのIKKIと申します。
横から失礼します。

"Scilab syntax highlighting" でググったところ、Notepad++ 用、Kate 用、Vim 用、
Atom 用、Emacs 用、TextMate 用などの定義ファイルがすぐに見つかりました。
適当なものを拾ってきて適当に加工すれば秀丸用の強調表示定義ファイルが作れると
思います。
完成したら、秀丸エディタの強調表示定義ファイルライブラリにアップロードしてお
くと、後に続く人が助かります。
http://hide.maruo.co.jp/lib/hilight/

# 宣伝: 秀丸の強調表示定義ファイルを直接編集するときは、拙作マクロ HilightEd
itor が便利かもしれません。
# http://hide.maruo.co.jp/lib/macro/hilighteditor11.html

一般論としては、構文強調は各エディタ固有の機能であって、その設定情報も各エデ
ィタ固有のファイル形式で保存されます。
たとえば Emacs なら Emacs Lisp、Vim なら Vim Script、Sublime Text なら XML、
Atom なら JSON といった具合です。
ですので、「SciNotes がどのようなファイル形式で設定情報を保存しているのか」
を秀丸のフォーラムで質問しても、たまたま知っている人がいない限り、答えは得ら
れないと思います。

さらなる一般論として、「いろんなエディタで共通に使えるファイル形式があるとい
いね」というのは楽しそうな話題ではあります。
私が知る限り、エディタの構文強調を保存する標準的なファイル形式というものは存
在しないようです。
cf. http://xahlee.info/comp/syntax_highlighting_language.html
もしやるとしたら、広く普及しているエディタの設定ファイルを秀丸の強調表示定義
ファイルに変換するコンバータみたいなものを作るといいんじゃないでしょうか。

[ ]
RE:34255 キー登録No.34256
matushiro97 さん 15/06/24 00:11
 
ikkiさん

回答ありがとうございました.一般的な状況がなんとなくわかりました.
>適当なものを拾ってきて適当に加工すれば秀丸用の強調表示定義ファイルが作れる
>と思います。

まさしくこれをやりたいのですが,どうやればいいんでしょうか.例えばemacs用の
定義ファイルEmacs Lispは普及していそうなのですが.
emacsで開いて,秀丸用の設定ファイルコピペか何かすれば「加工」できるのでしょ
うか?

まったく初心者で感じがまったくわかりません.導入部だけでもイメージがつけば,
いいのですが.

宜しくお願いします.

[ ]
RE:34256 キー登録No.34257
IKKI さん 15/06/24 00:44
 
> まさしくこれをやりたいのですが,どうやればいいんでしょうか.
それはもうケースバイケースなので、「1. 適当なものを探す」「2. 適当に加工す
る」としか言いようがないです。
試しにちょっとやってみました。

1. 適当なものを探す
"Scilab syntax highlighting" でググって出てきた定義ファイルを片っ端からダウ
ンロードして中身を見ます。
Notepad++ 用は XML で加工がちょっと面倒そう。
Atom 用はキーワードを列挙してる箇所がないように見える。
Kate 用は何がどうなってるのかよくわからない。
Vim 用はキーワードがテキストで列挙されてて簡単に加工できそう。
というわけで、今回は http://www.vim.org/scripts/script.php?script_id=5191
らダウンロードした scilab.vim を加工元にしましょう。

2. 適当に加工する
scilab.vim を秀丸で開きます。すると

syn keyword sciPrimitives about abs acos addModulePreferences
syn keyword sciPrimitives addcolor addf addframe addhistory

みたいな行がたくさんあります。
ここから「syn keyword sciPrimitives」を除いた部分がキーワードになっているよ
うです。
置換を駆使するなどして、最終的に以下のようなファイルを作ります。

33,about
33,abs
33,acos
33,addModulePreferences
33,addcolor
33,addf
33,addframe
33,addhistory

これを scilab.hilight というファイル名で保存します。

秀丸エディタで適当な scilab のソースファイルを開いた状態で、[その他]-[ファイ
ルタイプ別の設定]-[強調表示]-[ユーザー定義]-[読込み] で scilab.hilight を読
み込みます。
この調子で頑張れば、秀丸エディタ用の強調表示定義ファイルが作れます。頑張って
みてください。

[ ]
RE:34257 キー登録No.34259
秀丸担当 さん 15/06/24 10:35
 

強調表示を記憶している形式はレジストリという場所にバイナリ情報として記憶
されていて、これを直接編集はできないです。
設定ダイアログ上で、強調表示をファイルに保存・読み込みはできます。
hilightファイルはテキストファイルなので、これを秀丸エディタで開いて、編
集が可能ということになります。
方法はIKKIさんの言われる通りで、ありがとうございます。

他のエディタの形式の変換もできたらいいと思います。
1つのネタとしてご意見参考にさせていただきます。

[ ]
RE:34259 キー登録No.34260
matushiro97 さん 15/06/24 16:26
 
ikkiさん,秀丸担当さん

イメージがわきました.

とらいします!!

標準添付のscinoteはIMEのオンオフ状態の表示がないとか,全角と半角の記号の見分
けがつきにくいなど,日本語には優しくない状態で,バグが発生しやすいです.しか
も原因が分かりにくい.
優れた言語なのですが日本人で使う人は少ないせいでしょう(matlabに流れている?)

ここは世界に誇る日本語に優しく高機能なエディタ「秀丸」に登場してもらおうと決
めたまではよかったのですが,強調表示や自動成形を全て自力で設定するのは不可能
で難儀しておりました.

読みやすいコードにリファクタリングするときに変数名の修正は不可欠ですが,編集
名新旧対応表をもとに連続置換できる秀丸の機能は不可欠です.

有難うございました.

[ ]
RE:34257 キー登録No.34277
matushiro97 さん 15/07/06 18:22
 

>置換を駆使するなどして、最終的に以下のようなファイルを作ります。
>
>33,about

無事終わりました。33番は強調表示のパターンだと思いますが、別の色やフォントや
イタリック、ゴシックなどを設定したい場合はどうすればいいでしょうか。

今は黒のボールドですが別の色に設定したいです。

[ ]
RE:34277 キー登録No.34278
IKKI さん 15/07/06 18:44
 
> 33番は強調表示のパターンだと思いますが、別の色やフォントや
> イタリック、ゴシックなどを設定したい場合はどうすればいいでしょうか。
まずは設定画面を使って、いくつかのキーワードを希望の状態(色、フォントなど)
に設定しましょう。
そして、 [保存] ボタンを押して設定内容を .hilight ファイルに保存しましょう。
.hilight ファイルを秀丸で開くと、設定内容がファイル上でどのように記述されて
いるかがわかります。
このように自分で実験するのが一番の近道です。

>今は黒のボールドですが別の色に設定したいです。
強調表示の種類(強調1,強調2、行の強調1など)と色(黒、赤、青など)は別の設
定になっている点に注意しましょう。
前者は [ファイルタイプ別の設定]-[デザイン]-[強調表示]-[ユーザー定義] で、
後者は [ファイルタイプ別の設定]-[デザイン] で、
それぞれ設定します。

[ ]
RE:34260 キー登録No.34344
matushiro97 さん 15/08/03 19:06
 
その後、使った経験を踏まえて自分の好みの色や書体で強調表示がしたくなりました
が、可能でしょうか。@既存の強調表示をもとにしてカスタマイズするのか、Aまっ
たく自在に位置からカスタマイズ可能なのか、Bそれとも強調表示中から選ぶしかな
いのか、教えてください。

ちなみに私が採用したい強調表示は以下の5種類です。
色    書体
オレンジ ゴチ
紫    ゴチ
ブルー  ふつう
オレンジ ふつう


あとカーソル行は透明の薄い紫にしたいと思っておりますが、どこで設定するのでし
ょうか。

よろしくお願いします。

[ ]
RE:34344 キー登録No.34345
matushiro97 さん 15/08/03 19:09
 
>あとカーソル行は透明の薄い紫にしたいと思っておりますが、どこで設定するので
>しょうか。

カーソル行の設定方法はわかりましたので、この質問は撤回させていただきます。失
礼しました。

[ ]
RE:34344 キー登録No.34348
秀丸担当 さん 15/08/04 09:18
 

強調表示の色は[ファイルタイプ別の設定]→[デザイン]の一覧の下の方にある
「強調表示1」「強調表示2」…などで設定します。
ここで指定する以外の方法は無いです。

フォント(書体)を強調表示ごとに変えることはできないです。
フォントはできないですが、強調表示の「文字の色」「背景の色」の下に「スタ
イル」があって、ここでスタイルを指定することは可能で、「ボールド」や「極
太」「影付き」などが太く見えるスタイルとして使えると思います。

[ ]
RE:34348 キー登録No.34351
matushiro97 さん 15/08/04 11:21
 
>「強調表示1」「強調表示2」…などで設定します。ここで指定する以外の方法は無
>いです。
強調表示1や2などの色・太さなどは自由に設定できるので、言ってみれば強調名と
数の制約があるが、内容はある程度自由に設定できるわけですね。

ほぼ希望通りの設定ができましたが、フォントの設定で困っています。フォントをCo
urierNew フォントサイズ10にしたのですが、文字間隔を0にしても文字と文字の間が
大きい感じがします。もう少し詰めたいのですがdけいないでしょうか。


scilab開発者の一人が、notepadd++ように強調ファイルや補正機能を提供してoおり
そのデザインがとてもよくてできるだけそれに近づけたいという目標を持っておりま
す。日本語エディターとしてはnotepad++は限界があり、秀丸上で類似デザインを実
現したい次第です。
http://fileexchange.scilab.org/toolboxes/140000

このファイルはscilabの木ワード一覧がどこで入手できるかフォーラムで質問した時
に紹介されました。キーワード一覧は、scilabのコンソールのプロンプトでx=getsci
labkeywords()とすればリスト型で網羅的に取得できます。
この情報のおかげでほぼ完全なscilab用の強調ファイルが作成できそうです。

CourierNew の件、もし可能でしたらよろしくお願いします。

[ ]
RE:34351 キー登録No.34353
秀丸担当 さん 15/08/04 13:27
 

CourierNew で文字間隔を0にした場合、個人的な感覚としては英数字であればそ
れほど広がったようには見えないですが、日本語などの全角文字の場合は広がっ
たように見えます。
おそらく日本語などの場合なのではないかと思います。
そうだとしたら、フォントを変える設定があります。
[その他]→[ファイルタイプ別の設定]→[フォント]で、右側に「ASCII以外のフ
ォント」があり、これをONにしてフォントを指定ができます。
英数字はCourierNewのままにして、日本語などの全角文字はここで指定したフォ
ントになります。
CourierNewの10ポイントを基準にしたサイズ調整ができます。

[ ]
RE:34353 キー登録No.34355
matushiro97 さん 15/08/04 14:59
 
ASCII以外のフォントをONにしてMS明朝を指定したところ、英数字までCourierNewか
らMS明朝にかわりました。

>英数字はCourierNewのままにして、日本語などの全角文字はここで指定したフォ>ン
>トになります。

にするにはどうしたらいいでしょうか。

[ ]
RE:34355 キー登録No.34356
matushiro97 さん 15/08/04 15:20
 
別件ですが、数字を単語単位で強調表示設定する方法はありますか?
単語単位とは
x120=120の右辺の120は強調表示しますが、変数名x120の一部であるx120の120は強調
表示しないという意味です。

よろしくお願いします。

[ ]
RE:34355 キー登録No.34357
秀丸担当 さん 15/08/04 16:13
 

フォントは、今まで選んでいたCourier Newはそのままで、「ASCII以外のフォン
ト」の右下あたりにある「...」ボタンより、フォントを選択するとできると思
います。

[ ]
RE:34356 キー登録No.34358
秀丸担当 さん 15/08/04 16:13
 

数字は[その他]→[ファイルタイプ別の設定]→[デザイン]の一覧の下の方にある
「数値」をONにすれば、x120は強調せず、120は強調するようになります。

[ ]
RE:34358 キー登録No.34359
matushiro97 さん 15/08/04 16:28
 
希望通りの数字の設定はできました。

フォント設定も英字と全角で異なる設定ができました。しかし、MS明朝を設定しても
文字間隔は広く感じます。もうすこし文字間隔をつめることができればいいのですが、
難しいでしょうか。ちなみに、目標としていたnnotepad++の強調表示では全角文字
でも文字間隔狭くすっきり感があります。フォントはcouireNewでした。


[ ]
RE:34359 キー登録No.34360
秀丸担当 さん 15/08/04 17:26
 

秀丸エディタは固定幅のフォントの場合、全角文字は必ず半角文字の2倍となる
ように調整されています。
そのため文字間隔が広がって見えてしまう場合があります。

[その他]→[ファイルタイプ別の設定]→[フォント]のフォント一覧の前半は固定
幅フォントで、後半はプロポーショナルフォントになっています。
プロポーショナルフォントは一文字一文字の幅が違うフォントのことです。
プロポーショナルフォントから選ぶ場合はそういったことは起きないです。

Courier Newは固定幅フォントとなっていて、本来であれば全角も半角2倍の等
幅になるべきですが、実際はCourier Newの全角は等幅ではないようです。
そのためメモ帳やnotepad++などでは文字間隔は詰まって見えますが、例えば
「WWWWW」「IIIII」が違った幅に見えてしまっていると思います。
秀丸エディタの場合はマス目状に収まるように作られています。

これをなんとかする設定が「ASCII以外のフォント」でなのですが、それでもだ
めだとしたら、現状では難しいです。
将来、秀丸エディタの設定として、固定幅フォントであっても強制的にプロポー
ショナルフォントとして扱うような設定を作れば可能だと思います、

[ ]
RE:34360 キー登録No.34361
matushiro97 さん 15/08/04 18:45
 
背景がよくわかりました。
プロポーショナルフォントを使い、文字サイズを-2くらいにすると全角文字でもすわ
りがよくなりました。

いろいろとサポートありがとうございました。

[ ]
RE:34358 キー登録No.34378
matushiro97 さん 15/08/08 14:51
 
コメント内は数字であってもこめんとに設定した強調表示を優先するようにできます
か?

[ ]
RE:34378 キー登録No.34379
h-tom さん 15/08/08 16:36
 

h-tom です。

>コメント内は数字であってもこめんとに設定した強調表示を優先するようにできます
>か?
優先度からいえば、「数値」より「コメント」が優先されるはずですが?

コメントを「強調表示1〜8」で設定しているなら、「数値」より優先度が低いので
無理ですよ。
「数値」より優先度の高い設定を使うか、「コメント」をユーザー定義で設定する
とか。

[ ]
RE:34379 キー登録No.34380
matushiro97 さん 15/08/09 10:05
 
コメントの識別子が行頭//ですが。これまでユーザー定義+強調表示をつかっており
ました。言語指定-秀丸マクロで設定するとなおりました。

[ ]