2008-01-24

エディタをほんの少し使いやすくするfenrirインスタントコマンドちょいワザ

EmEditorをフリーウェアの頃から愛用している。

EmEditorでファイルメニューから新規作成を選択すると実に26もの選択肢が表示される。



















テキストファイルの作成は、Ctrl + N で新規ファイルを作成できるように設定している。
テキストファイルを作成するときは簡単だが、そうではない場合は新規作成のポップアップメニューから目的の拡張子をマウスで選択しなければならない。
HTMLやCSSやINIファイルを新規で作成するのは、けっこう面倒だったりする。

この面倒な点をすっきり解消してくれるのがfenrirである。

インスタントコマンドを使えば、好みの拡張子のファイルを、簡単に作成してくれる。
設定はあっけないほど簡単。
インスタントコマンドファイルに以下を記述してやればいい。

e/="C:\Program Files\EmEditor\EmEditor.exe" %A


具体的にはfenrirを起動し、作成したいファイル名(この場合は拡張子まで含む)、たとえば「test.txt」を入力し、Enterを押せば、指定したファイルは存在しません。新規に作成しますか?と問われるので、「はい」にすれば「test.txt」がエディタで作成される。
拡張子の入力が面倒であれば、以下のようにすればよい。

txt/="C:\Program Files\EmEditor\EmEditor.exe" %A.txt
html/="C:\Program Files\EmEditor\EmEditor.exe" %A.html
css/="C:\Program Files\EmEditor\EmEditor.exe" %A.css

などなど、設定は思いのまま。
たいがいのエディタでこれが使えるようだ。

いやぁ~・・・fenrirってほんとすげぇ・・・

別に覚えておかなくてもとても困るというわけではないけれど、覚えておけば便利で、ほんのすこし得した気分になれるかもしれないというニッチなちょいワザ。

お粗末でした。

2008-01-17

PPcでのファイルのコピー・移動をほんのすこし便利にする fenrirを使って

PPcでファイルのファイルのコピー・移動はもっぱらウィンドウを2枚起動させておいて、左の窓がコピー(あるいは移動 以下おなじ)元、右がコピー先として、任意のキーを割り当て、コピーをしていた。

もう少し具体的にどういう動作をするのかを説明すると以下のとおり。

fenrirを使ってコピー元のフォルダを表示させる。
同じくfenrirを使ってコピー先のフォルダを表示させる。
コピーに割り当てたキーを押し、(たとえばShift + ?とか)反対窓に選択したエントリがコピーされる。
(注 反対窓にコピーされるのは、ファイルオペレーションコマンドのコピーの設定を反対窓にしているため。反対窓の設定をしていなければパスを入力する必要がある。ファイルオペレーションコマンドについてはおまけを参照されたい)
間違いのない確実なコピー方法として愛用させていただいている。

が、ときおり、コピー先となる右側の窓を指定するのが面倒な場合がある。
せっかくfenrirをかませてPPcを利用しているのだから、fenrirで選択したパス(この場合、PPcの右側の窓で開きたいコピー先のフォルダパス)を、PPcへ渡したいと考えた。

*file(ファイルオペレーションコマンド)を使ってみたがうまくいかない。
具体的にはPPc上の複数エントリーのコピーがうまくいかない。カーソルのあるエントリしかコピーできない。何も指定しなければマークしたエントリーが対象となるはずなのだが。なぜなのかはわからずじまい。そういえば *fileの仕様変更があったような・・・

*fileをあきらめて*ppcfile を使ってみたらうまくいった。
詳しくはヘルプファイル「 *ppcfile [!]action[,destdir[,option]] [C]/[M]コマンドを実行」を参照されたし。

具体的にはfenrirの任意のコマンドファイル(たとえば4Jとか)に以下の内容を記述する。

[.***;
&Copy |"C:\Program Files\PPX\PPCW.EXE" -r -k *ppcfile !Copy,"%P"
]

この方法を使ったファイルコピーの具体的な動作は以下のとおり。
fenrirを使ってコピー元のフォルダを表示させる。
PPc上でコピーしたいフォルダあるいはファイルを選択する。
再度fenrirを使ってコピー先のフォルダを選択し、fenrirの任意のコマンド4Jを実行する。

これでよりスムースにファイルコピーができるようになった。

なお「移動」したい場合は、*ppcfile !Copy,"%P" Copy部分を「Move」に変えてやればいい。
「!」をつけると確認なしで実行されるが、「!」だとファイルオペレーションオプションのダイアログが出て確認ができるうえ、さらに親切なことにTestも行える。


おまけ

ファイルオペレーションコマンドを使ってみた。

ファイルオペレーションコマンドにはあらかじめいくつかの設定が登録されている。
コピー、移動では細かな設定が可能。
名前変更ではワイルドカード、正規表現が使用でき、連番置換も可能。
そのほかミラーリングや削除、ショートカットの作成などまで用意されている。
Copy.Move,Renameなどに限ってあらかじめ「Undo log」が設定された操作に対してUndoが可能である。

それだけで十分便利なのに、さらに任意の設定を追加することができる。

たとえば、常に特定のフォルダ(D:\Backとか)に、選択したファイルの上書きコピー行う。など。

どうやって設定するかは以下のとおり。
ファイルオペレーションオプションを表示させる













Actionのプルダウンメニューから設定保存を選択




適当な名前をつけて保存。Copy2など
処理先をどこにするかきいてくるので、この場合はいいえを選択。








このままだと保存した時の設定状態が保持されるので、オプションを変更する。下の例の場合だと
先を「D:\Back」にし、同名ファイルの処理は「上書き」をチェックする。
再度Actionのプルダウンメニューから設定保存を選択し、上書き保存すれば設定が保存され、「 Copy2」の設定が追加される。












これの活用方法はさまざま。これを覚えておけば少しはしあわせになれる。たぶん。

さいごに
いつものことながら、こんなにすばらしいソフトを提供してくださっている作者の方々に感謝です。

2008-01-14

PPx 独自メニューの割り当てに挑戦

ほんのちょっとばかりPPxが使えるような気になったものだから、しばらくは身の程知らずな無謀な試みをやめ、これまで学んだことだけでPPxを操ることで満足していた。
が、正月休みという長い時間を過ごすうちに、目を見張るばかりのバージョンアップを目のあたりにしてしまい(せっかくバージョンアップしてもらっても、たいして活用できてないのがほんと悲しい)、これまでできなかったことに挑戦することにした。
というわけでその挑戦とは、独自メニューの割り当てなわけである。

最終目的は「テキストファイルを任意のエディタで開く」というごく簡単なもの。

これは、べつに独自にメニューを割り当てなくとも、
M_exec(個人用実行メニュー)に割り当てれば簡単にできる。
あるいは選択エントリーのファイルパスを関連付け版「esExt5」に投げてやってもいい。

でもせっかく本体に独自でメニューを割り当てられる機能がついているのだから、どうしてもそれを利用してみたい。

ヘルプファイルを読んでみると、ものすごく簡単そうに見える。
できないわけはない。そう思ったわけである。

以下ヘルプの該当箇所の抜粋

メニューを複雑/付け足し/階層化したい
M_xxxx の名前でメニューを作成し、「%M_xxxx」を使うことでメニューを表示します。

PPxはメニューの追加や階層化が可能です。

また、メニュー内に「%M_xxxx」を記載することで階層化されます。


例)PPcで各種アプリケーションの実行メニュー M_exec を「,」キーに登録する。M_execは下位階層のメニューM_execsubを持つ。

KC_main = {
',' ,%M_exec
}
M_exec = {
&app1 = c:\bin\app1
app&2 = c:\bin\app2
app&3 = c:\bin\app3
その他 = %M_execsub
}
M_execsub = {
app&4 = c:\bin\app4
app&5 = c:\bin\app5
&shutdown = *shutdown
}
更に、次のようにメニューを使って選択肢を挿入することができます。
例)PPcの[?]にパスジャンプメニュー M_jump2 を追加する
KC_main = {
'?' ,%j%M_jump2
}
M_jump2 = {
&1 bin = c:\bin
&2 temp = %'temp'
&3 etc = %M_pjump
}


まず、M_Editor の名前でメニューを作成してみる。
M_Editor = {
&EmEditor = "C:\Program Files\EmEditor\EmEditor.exe"
&NTL = "C:\Program Files\NoteTab Light\NoteTab.exe"
Sa&kura  = C:\tool\Sakura\sakura.exe
&Stirling = C:\tool\stir131\Stirling.exe
}


これをPPX.CFGのM_execの後に追加して保存。
ここまではわけない。問題はこの先。これだけだと使い物にならない。
ヘルプとにらめっこ。それによるとPPcのメインメニューに%M_Editorを追加しないといけないらしい。
それだけではなく適当なキーを割り当てる必要があるようだ。そこで割り当てキーは ^E にすることにする。

KC_main = { ; PPcメイン窓
 中略
^E ,%M_Editor
 以下略


これで任意のエディタでファイルが開けるはず。なんだ、簡単じゃねえかと試してみたところ、エディタは開けるが、選択したファイルが開けない。
なんでなんだぁ~!!! ・・・一晩寝て、考えた。

冷静になって考えてみると、PPxにファイルのパスを渡してないことに気がついた。
PPxにファイルのパスに渡すにはどうすればいいんだっけかなぁ・・・
再度ヘルプファイルとにらめっこ。
%FDC あるいは %#FDCとかをくっつけないとパスが渡らない。
M_Editorのほうにつけるのか、KC_mainのほうにつけるのかわからなかったので試したところ、M_Editorのほうでよいことが判明。

M_Editor = {
&EmEditor = "C:\Program Files\EmEditor\EmEditor.exe" %#FDCB
&NTL = "C:\Program Files\NoteTab Light\NoteTab.exe" %#FDCB
Sa&kura = C:\tool\Sakura\sakura.exe %#FDCB
&Stirling = C:\tool\stir131\Stirling.exe %FDCB
}



というわけで、M_Editorを上記のように修正し、再挑戦したところ、ビンゴ!!
途中でつまずいたものの、目標はめでたく達成、独自メニューのできあがり。

せっかく独自メニューをマスターしたのだからと、調子にのっていろいろ割り当ててみた。
画像用メニュー
M_Picture = {
&PhotoFiltre = "C:\Program Files\PhotoFiltre\PhotoFiltre.exe" %#FDCB
FS &Resize = "C:\Program Files\FastStone Photo Resizer\FSResizer.exe" %#FCD
FS &Viewer = "C:\Program Files\FastStone Image Viewer\FSViewer.exe" %#FCD
P&NG = C:\tool\Yukari\BlastPNG.exe %#FCD
}
    検索用メニュー
    M_Search = {
    &getia = C:\soft\getia\getia.exe %#FCD
    %snowbird = C:\soft\snowbird_xp\Snowbird.exe %#FCD
    %locate32 = "C:\Program Files\locate32\locate32.exe" %#FCD
    }
    で、あれこれやってみてわかったこと。
    確かに独自メニューに特定のキーを割り当てるのは便利だけれど、割り当てたキーがなんだったか覚えきれなければ何の役にも立たないではないか。
    M_exec(個人用実行メニュー)に割り当てるか、あるいは、手間をおしまずポチエスにパスを投げてしまうのがいちばん簡単で手っ取り早いということ。
    とういうわけで独自メニューはエディタ用だけにとどめておくのが無難だろうということで決着。