CotEditor Tips

.scptd も実行できます。

ヘルプファイルには「CotEditor は次の拡張子を持つファイルをスクリプトファイルとして認識します:.applescript .scpt .sh .pl .php .rb .py」とあります。従って「.scptd」などのファイルは実行不可能かと思いきや、そうでもありませんでした。

スクリプトフォルダには実行したいスクリプトのエイリアスを置き、そのエイリアスファイルの拡張子を「.scpt」としたら「.scptd」ファイルの実行も可能でした。この裏技により、もっと複雑なスクリプトを実行することも不可能ではありません。

JavaScript で拡張スクリプトを作る。

上述のように「.js」ファイルをスクリプトファイルとは認識してくれないのですが、JavaScript に長けた人なら CotEditor の拡張スクリプトを JavaScript で書ければそれに越したことは無く、他の言語の習得を待たずとも生産性の向上が期待できます。

しかし、そもそも JavaScript 単独の実行環境が Mac OS X には__というか、ほとんどの環境には__備わっていません。

まずは JavaScript 単独の実行環境である SpiderMonkey をインストールする必要があります。インストール手順はすみませんが割愛しますw。こちらを参考になんとかインストールしてください。

インストールが無事に完了し、「which js」でコマンドの所在が確認できたら、このJavaScript 拡張スクリプトのサンプルをダウンロードして実行権を確認し、CotEditor のスクリプトフォルダに入れて実行・確認してみてください。CotEditor 上で選択したテキストの行頭に「>」が付与されれば成功です。

サンプルスクリプトを見て分かるとおり、拡張子は「.js」ではなく、CotEditor が拡張スクリプトだと認識できる「.sh」などにしておく必要があります。

JavaScript はユーザが多いので、CotEditor の拡張スクリプトがたくさん出てくることを期待しています。

DefaultKeyBinding.dict をカスタマイズする。

嬉しいことに CotEditor は Cocoa アプリなので、DefaultKeyBinding.dict を編集が有効です。どういうことかは以下のリンクをご覧ください。

私は行の連結を頻繁に行うので vi のコマンド "J" (Join) に該当するコマンドが常々欲しいと思っていました。

そこで "~/Library/KeyBindings/DefaultKeyBinding.dict" に以下の行を書き加えました。


    /* Control + j (Join next line with current)*/
    "^j" = (  "moveToEndOfLine:"
            , "setMark:"
            , "moveRight:"
            , "single_caret"
            , "moveWordRight:"
            , "moveWordBackward:"
            , "selectToMark:"
            , "insertText:", " "
            , "setMark:"
            , "moveLeft:"
            , "selectToMark:"
        );
        

これで Control + j で現在の行と次の行を連結してくれます。

※ "~/Library/KeyBindings/DefaultKeyBinding.dict" は存在しない場合があります。その場合はプレーンテキストで "~/Library/KeyBindings/DefaultKeyBinding.dict" ファイルを作成し、上記のコードを "{" と "}" でくくってペーストしてください。

Spark を併用する

CotEditor はスクリプトメニューからさまざまのスクリプトを実行する事が出来ますが、ショートカットを割り当てるためにはファイル名に使える文字である必要があります。Spark などのグローバルホットキーツールを使えばファイル名に使えない文字もショートカットとする事が出来、更に柔軟に機能を追加できます。スクリプト「最近使った書類から開く」を例に、その方法を説明します。

(1)Spark.app のインストールは割愛します。

Spark | Macの手書き説明書

(2)Spark を起動し、ウィンドウ中央上の「All Applications's HotKeys」をクリックしてドロワーを表示します。

coteditor_script_open_recent_0001

(3)ドロワーを開いたら「+」ボタンで「CotEditor.app」を追加します。追加した「CotEditor.app」を選択します(ただし「最近使った書類から開く」は CotEditor 以外のアプリケーションでも使えますので「All Applications's HotKeys」に設定しておき、必要以外のアプリケーションではチェックを外しておいても良いです)。

coteditor_script_open_recent_0002

(4)歯車のアイコンメニューから「AppleScript」を選択します。

coteditor_script_open_recent_0003

(5)ホットキーと、それに紐付くスクリプトを設定する「シート」が表示されます。

coteditor_script_open_recent_0004

Shortcut 項目に、好きなショートカットを(クリックすると設定できます)設定します。CotEditorで使われていないショートカットにしましょう。

Name 項目には任意の名前を設定します。

ダウンロードした「最近使った書類から開く」を開いてソースを全てコピーし、Spark.app の Source タブのテキストフィールドにペーストします。または「File」タブからダウンロードしたファイルを選択しても同じです。

(6)Create ボタンを押下すれば設定は完了です。

固定長データ形式を見やすく

世の中には CSV やら XML やら JSON, YAML など、様々なデータ形式が有ります。以前は「コンピュータが読むのに都合が良いもの」が主流でしたが、だんだんと「人間が読むのにも都合が良いもの」に進化する傾向が有ります。しかしながら依然として使われるデータ形式に「固定長データ」があります。決まった長さの行の決まった位置に英数字が羅列されているようなものです。

これは勿論、お世辞にも読みやすいとは言えません。以下のサンプルは「日時」を表したデータですが、区切りが無い為によくわかりませんね。

20140801101456
19990123060738
19700731141259

CotEditor の正規表現検索では、グループごとに色分けしてくれるハイライト機能が有ります。これを利用し、以下のような検索を行うと...

fixed_length_data_find

検索条件
(.{0,4})(.{0,2})(.{0,2})(.{0,2})(.{0,2})(.{0,2})

この短さだと微妙ですが、1レコードが長いと有用だと思いますよ!

作成日:2011/02/14
更新日:

inserted by FC2 system