[要望]色々No.04898
こさく さん 14/06/23 16:48
 
エディタ&メーラには長い間大変お世話になっております。
こさくと申します。

早速ですが「秀丸ファイラーClassic」に要望を書かせて頂きます。

経緯
これまで長年「卓駆★」を使ってきましたが、OSをWin7 64bitに変えたことで
どうしても解決できないことが発生したのでファイラの変更を考えています。
これについては、秀丸ファイラーは全く問題ありません。
具体的には、卓駆★で TortoiseSVN のコンテキストメニューが出なくなってし
まいました。
2010年にサポートを終了しています。

他のファイラも比較検討していますが、冒頭の理由や短いながらも試用した感じ
から本ファイラが第一候補です。

要望内容(卓駆★で可能だが秀丸ファイラーClassicで不可(だと思う))
1.サブ関連付けとして独自に拡張子に二種類のアプリケーションを割り当てる。
 例えば、TXTファイルに「Enterにビュワー、Shift+Enterにエディタ」など
2.簡単にテキストファイル表示、ESCで消去
3.簡単に任意のツールによる圧縮、拡張子に応じた解凍
4.ファイルのダンプ表示(テキスト、バイナリとも)
5.キー割当で「ドライブバーにフォーカス」にDを割り当ててDを押します。
 その状態でネットワークドライブを割り当てたRを押すとキー割り当てした
 「リネーム」になってしまう。希望は、ドライブバーにフォーカスがあるとき
 はRドライブに移動して欲しいです。

以上色々書きましたが、同じにできないことや秀丸ファイラーClassicの方が優
れていることもあると思います。
まだ試用を始めたばかりなので慣れの問題や「こうすれば可能」等があると思い
ます。

以上、ご検討、アドバイス頂ければ幸いです。

[ ]
RE:04898 [要望]色々No.04899
秀丸担当 さん 14/06/23 17:24
 

いずれも秀丸ファイラーClassicでできないことだと思います。
できたらいいということで、今後の参考にさせていただきます。

1.と5.に関連することとしては、ブックマークやツール項目に、コンテキス
トメニューの項目を登録する方法があります。

例えば、zipファイルを選んだ状態で、[ブックマーク]→[ブックマークに追
加...]して、「パス」の右側の「>>」より「コマンド(コンテキストメニュー)
(7)...」を選ぶと、zipのコンテキストメニューの候補が出てきて、これを選ぶ
こととでスクリプトを自動生成できます。

個人的にはExpLzhを入れているとして、解凍するボタンとして、
「js:ContextMenu("即時解凍(&E)");」
というものをリンクバーに表示させています。
同じように
「js:ContextMenu("書庫作成(&A)");」
というボタンも作っています。

「コマンド(送る)(8)...」では送る先を指定したものを自動生成できます。

さらに、上級者向けのやり方になってしまいますが、パスの部分には「js:c:\
folder\test.js」と書いておくと、それなりに長いスクリプトも別ファイルに記
述できます。
例えば以下のようなスクリプトを記述して、Shift+Enterに割り当てておくと特
定の拡張子で関連付けを分けるようなことも一応できたりします。

  var iItem=GetNextItem(-1,2);
  if(iItem>=0){
    strPath = GetItemPath(iItem);
    if( strPath.slice(-4).toLowerCase()==".ini"){
      SendTo("秀丸.lnk");
      EndMacro();
    }
  }
  ContextMenu("open");
  //Command("開く");//V1.11以降

[ ]
RE:04899 [要望]色々No.04900
こさく さん 14/06/23 17:41
 
こさくです。
早速のご連絡ありがとうございます。

ちょっと難しそうですが、書かれたことをよく読んで挑戦してみようと思います。

> できたらいいということで、今後の参考にさせていただきます。
よろしくお願いします。

[ ]
RE:04899 [要望]色々No.04902
こさく さん 14/06/24 10:41
 

お世話になります、こさくです。

> 「js:ContextMenu("即時解凍(&E)");」
> 「js:ContextMenu("書庫作成(&A)");」
上記二点は、できました。快適に使っていけそうです。
ありがとうございます

> さらに、上級者向けのやり方になってしまいますが、パスの部分には「js:c:\
  var iItem = GetNextItem( -1, 2 );
  if ( iItem >= 0 )     {
    strPath = GetItemPath( iItem );
    if ( strPath.slice( -4 ).toLowerCase() == ".ini" )  {
      SendTo( "秀丸.lnk" );
    } else if ( strPath.slice( -4 ).toLowerCase() == ".xls" )   {
      SendTo( "Kingsoft Spreadsheets.lnk" );
    }
    EndMacro();
  }
  //ContextMenu( "open" );
  Command( "開く" );//V1.11以降
このように書き換えて、C:\ShiftEnter.jsに保管し実行してみましたがエラー停
止しました。
以下メッセージです。何処がいけないか検証して頂けるでしょうか。

Windows Script Host
 スクリプト C:\ShiftEnter.js
 行     1
 文字    3
 エラー   オブジェクトを指定してください。
 コード   800A138F
 ソース   Microsoft JScript 実行時エラー
ここまで
ちなみにこれは、コマンドプロンプトからファイル名を指定して実行した結果で
す。
Shift+Enterに割り当てての実行やブックマークから指定しての実行ではエラー
も出ませんが何も開かれません。
拡張子は、ini、xlsどちらも一緒でした。

Ver1.11Beta9 を試用しています。
購入前で恐縮ですが、可能であればご教示願います。
C言語、エディタ、メーラのマクロやバッチファイルの知識はありますが
JScriptの知識はありません。

以上よろしくお願いします。

[ ]
RE:04902 [要望]色々No.04904
秀丸担当 さん 14/06/24 11:56
 

このスクリプトは、秀丸ファイラーClassic用のスクリプトで、ファイルをダブ
ルクリックして実行はできないです。
別の拡張子にすればよかったのですが、.jsはWindows7以前の標準の関連付けで
はwscriptになっていて、紛らわしいことになってしまっています。すみません。

ブックマークやツール項目の「パス」の部分に、「js:」から始まるファイル名
を書きます。
「C:\ShiftEnter.js」の場合は「js:C:\ShiftEnter.js」になります。
「パス」の右側の「>>」ボタンから「スクリプトの参照...」でファイルを選ぶ
とやりやすいです。

[ ]
RE:04904 [要望]色々No.04905
こさく さん 14/06/24 13:13
 

こさくです。ご連絡ありがとうございます。


> ブックマークやツール項目の「パス」の部分に、「js:」から始まるファイル名
> を書きます。
> 「C:\ShiftEnter.js」の場合は「js:C:\ShiftEnter.js」になります。
> 「パス」の右側の「>>」ボタンから「スクリプトの参照...」でファイルを選ぶ
再度確認しました。「js:C:\ShiftEnter.js」となっていました。
スクリプトの参照から選択すると「script:F:\DosTool\ShiftEnter.js」になり
ます。

Shift+Enterに割り当てましたが、実行方法としては例えば「splintrc.ini」を
選択状態にしておいて「ブックマーク」-「ShiftEnter」をクリックすれば良い
んですよね。
(ShitEnterは表示名です)
何も起こりません。
Windows7 64bitです。

購入しても居ないのにあまりお手を煩わしてもいけませんのでもう少し勉強して
みます。

[ ]
RE:04905 [要望]色々No.04906
秀丸担当 さん 14/06/24 16:10
 

>Shift+Enterに割り当てましたが、実行方法としては例えば「splintrc.ini」を
>選択状態にしておいて「ブックマーク」-「ShiftEnter」をクリックすれば良い
>んですよね。

実行方法は基本的にはそういう方法で間違いないです。
適時、
Message("テスト");
という行を入れたりしておくと、確かにそのスクリプトが実行されているかを確
認したりできると思うので、それでいろいろ試してみると原因を絞っていくこと
ができると思います。

スクリプトのファイル名を書く場合は「js:」でも「script:」でもどちらでもい
いです。

ちなみに例のスクリプトでは、iniとxls以外で実行すると何も起きないと思うの
で以下のようにEndMacroの位置を変えるといいと思います。

  var iItem = GetNextItem( -1, 2 );
  if ( iItem >= 0 )     {
    strPath = GetItemPath( iItem );
    if ( strPath.slice( -4 ).toLowerCase() == ".ini" )  {
      SendTo( "秀丸.lnk" );
      EndMacro();
    } else if ( strPath.slice( -4 ).toLowerCase() == ".xls" )   {
      SendTo( "Kingsoft Spreadsheets.lnk" );
      EndMacro();
    }
  }
  //ContextMenu( "open" );
  Command( "開く" );//V1.11以降

あと、SendToをする場合は、「送る」の一覧にそのショートカットが入っている
必要があります。
秀丸ファイラーの機能としてあったらいいという話の延長でいきなり複雑な話に
なってしまってすみません。

[ ]
RE:04906 [要望]色々No.04907
こさく さん 14/06/24 17:06
 

こさくです。
できました。どうもありがとうございます。

> あと、SendToをする場合は、「送る」の一覧にそのショートカットが入っている
これが肝だったようです。
欲を言えば、テキストビュワーがあって表示とエディタを切り替えられると嬉し
いです。
秀見えでは代用できないですよね?

エディタやメーラと同様にかゆいところに手が届くこの感じが素晴らしいです。
これでWin95時代から使ってきた卓駆★と別れられそうです。
20年ですからね。名残惜しいようなさっぱりするような・・・。

もう暫く試用させて頂いた上で購入したいと思います。

[ ]
RE:04907 [要望]色々No.04908
秀丸担当 さん 14/06/24 17:28
 

SendToが原因とわかってよかったです。

テキストビューアのご意見も参考にさせていただきます。
もしやるとして、エクスプローラのプレビュー枠のような簡便なものだとしたら
エンコードの解析などは行わないようなものになるかもしれません。

またスクリプト関連の話になってしまいますが、秀丸エディタにも起動オプショ
ンで閲覧モードとバイナリモードもあるので、一応これを利用する方法も考えら
れます。
起動オプション付きのSendToのショートカットを作っておくのが簡単です。
(本当はWScript.ShellのRunとかShell.ApplicationのShellExecuteとかを使っ
てEXEと起動オプションを指定する方法もありますが、また複雑なので参考まで
に)

例えばテキストビューア用の「秀丸で閲覧.lnk」を作っておくとして、そのリン
ク先は以下のような感じにします。
"c:\program files\hidemaru\hidemaru.exe" /n /b /i
別ウィンドウで閲覧モードになって、Escキーで閉じることができます。
またはバイナリビューアだとしたら以下のような感じにします。
"c:\program files\hidemaru\hidemaru.exe" /n /b /i /fb

[ ]
RE:04908 [要望]色々No.04912
こさく さん 14/06/25 10:24
 
こさくです。
ご丁寧にありがとうございます。

> 起動オプション付きのSendToのショートカットを作っておくのが簡単です。
> "c:\program files\hidemaru\hidemaru.exe" /n /b /i
> "c:\program files\hidemaru\hidemaru.exe" /n /b /i /fb
これらを作成してみました。バッチリです。

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

[ ]