CotEditor のスクリプト

Cocoa アプリケーション CotEditor の Script です。CotEditor のスクリプトフォルダに入れてお使いください。

免責:当スクリプトを利用する事によって発生した不具合・損害に対しては作者は一切の責を負う物ではありません。利用については、利用者様の責任に於いてご利用いただきます様お願いします。本フリーウェアを使用する際の対価は特にありません。お役に立てたのならメール下さい。ただし、再配布にあたっては作者の配布した形そのままでお願い致します。

grep

↓coteditor_script_grep.zip ダウンロード

(ターミナルの方が使い慣れているという方はこちらもお試し下さい)

スクリプトを実行すると検索したい文字列を入力するダイアログが表示されます。検索したい文字を入力して、いずれかのボタンをクリックしてください。

coteditor_script_grep

上記イメージではデフォルトボタンが「grep -in」となっていますので、デフォルトでは「大文字小文字区別せず、行番号付き」で結果を表示します。発行されるコマンドのイメージとしては以下のようになります。

grep -in 'finder'

このデフォルトボタンのコマンドを変更したい場合は、スクリプトは編集可能となっていますので改造してください。

その他のコマンドオプションを使用したい場合は、「grep with options」ボタンを使用してください。このボタンをクリックした場合、発行されるコマンドのイメージとしては以下のようになります。シングルクォートもなくなっていることに注意してください。

grep finder

このスクリプトは、「/tmp/」配下にいくつかの中間ファイルと、grep コマンド実行結果ファイルを作ります。実行結果の表示は、このファイルの表示をしているだけです。これらのファイルは Mac が再起動するたびに自動的に消去されます。

作成日:2010/09/07
修正日:

Compare files

↓coteditor_script_compare.zip ダウンロード

スクリプトを実行する最前面のウィンドウと、その次のウィンドウの書類ファイルを FileMerge.app などで開きます。なので、このスクリプトを実行するためには二つ以上のウィンドウを CotEditor で開いている必要があります。

作成日:2010/09/07
修正日:

ソート

↓sort.sh.zip ダウンロード

選択している行をソートします。"sort" コマンドを呼び出しているだけです。

(ターミナルの方が使い慣れているという方はこちらもお試し下さい)

作成日:2011/01/28
修正日:

重複行を除く

↓uniq.sh.zip ダウンロード

選択している範囲にある行から重複している行を削除します。"uniq" コマンドを呼び出しているだけです。重複している行が隣接していなければ削除されません。

(ターミナルの方が使い慣れているという方はこちらもお試し下さい)

作成日:2011/01/28
修正日:

編集中のスクリプトを実行

CotEditor で編集中のスクリプトを実行します。編集中のドキュメントの拡張子を見て、以下の対応するものであれば、実行します。

↓coteditor_script_runFrontDocument.zip ダウンロード

  • html -> Safari にて表示
  • js -> Safari にてスタブ用の html を使って実行。(同梱の test.js 参照)
  • applescript -> AppleScriptRunner による実行
  • sh -> そのまま実行(ターミナル)
  • rb -> ruby "filename.rb"(ターミナル)
  • pl -> perl "filename.rb"(ターミナル)
  • php -> php "filename.php"(ターミナル)
  • rst -> 要 Sphinx。編集中ファイルのカレントディレクトリにて make html 後 safari で ./_build/html/index.html を開く (ターミナル)

Javascript なんか、単体テストが結構簡単になるんじゃないかな。

※ rst ファイルのコードは Joey Chen さんに提供していただきました。ありがとうございます > Joey Chen さん。

作成日:2011/02/10
修正日:2012/04/10

最近使った項目から開く

Web で、mi に有って CotEditor に無い機能として最近使ったファイルから開くという機能があったので、スクリプトとして作りました。

参照

作成日:2011/02/18
修正日:

行末コメントを揃える

バラバラの行末コメントを揃えます。コメント記号は # がハードコーディングされていますが、お好みによって他の記号に変えてください。 =(等号)などで使っても良いと思います。

↓coteditor_script_align_comment.zipダウンロード

coteditor_script_align_comment

上記の記号をハードコーディングしたものではなく、実行の度に変えたい方は下記バージョンもお試し下さい。

↓coteditor_script_align_comment.2.0.zipをダウンロード

coteditor_script_align_comment2

こちらのバージョンは、最後に見つかった記号を基準にするようにしています。その挙動を変えたい場合はスクリプト内の冒頭にある、変数 $USE_LASTMARK を 0 にしてください。

また、桁揃え位置をタブ幅の倍数になるよう設定してあります。これも、変更したい場合はスクリプトの冒頭にある、変数 $USE_TABWIDTH を 0 にしてください。

作成日:2011/03/02
修正日:2012/02/18

円マークで右揃え

上のスクリプトと似ていますが、右揃えします。上のスクリプトと同様に、他の記号に書き換えて使っても構いません。

↓coteditor_script_align_yen_mark.zipダウンロード

coteditor_script_align_yen_mark

作成日:2011/03/02
修正日:

コロンの後ろを揃える

これも上のスクリプトと似ていますが、記号の位置は変えずに、その後ろに続く文字列を揃えます。やはり上のスクリプトと同様に、他の記号に書き換えて使っても構いません。

↓coteditor_script_align_colon.zipダウンロード

coteditor_script_align_colon

作成日:2011/03/02
修正日:

コロンの前を右揃え

上のスクリプトと似ていますが、コロンの手前側の単語を右揃えします(Xcode のエディタのように)。やはり上のスクリプトと同様に、他の記号に書き換えて使っても構いません。

↓coteditor_script_align_before_colon.zipをダウンロード

coteditor_script_align_before_colon

作成日:2011/03/09
修正日:

カンマで揃える

CSV ファイルはカンマで区切られたテキストファイルです。この桁を揃えた方が見やすい場合があります。これも上記同様に、冒頭で定義している変数をカンマ以外の記号に書き換えて使っていただいて構いません。また、もう少し見やすいようにカンマと次の値の間にスペースを入れたい場合も、冒頭に定義している変数 $ADD_SPC を書き換えて使ってください。詳しいことは冒頭のコメントに書いてあります。

↓coteditor_script_format_csv.zipをダウンロード

coteditor_script_format_csv

作成日:2011/10/07
修正日:

ターミナルの実行結果を編集中のドキュメントへ(あるいはその逆)

ターミナルで実行したコマンドの出力結果を CotEditor で編集中の書類のキャレット位置へ挿入したり、CotEditor で編集中のテキストをターミナルへ出力したりします。

t2c または c2t というシェルスクリプトからなります。

↓coteditor_script_terminal_result_to_current_selection.zipをダウンロード

ダウンロード、解凍したスクリプトに実行権を与えてパスの通った場所へ移動します。

パイプを使用し、ターミナルから CotEditor のテキストを操作します。

coteditor_script_terminal_result_to_current_selection

t2c は以下のオプションを持ちます。

  • -s パイプで受け取った結果を、CotEditor で編集中の書類のキャレット位置へ挿入します。何もオプションを指定しないとこのオプションを指定したのと同じ結果になります。
  • -n CotEdiotr で新たに書類を作って挿入します。
  • -h 簡単なヘルプを表示します。

c2t は以下のオプションを持ちます。

  • -s CotEditor で選択しているテキストを標準出力へ出力します。何もオプションを指定しないとこのオプションを指定したのと同じ結果になります。
  • -d CotEditor で編集中の書類全体のテキストを標準出力へ出力します。
  • -h 簡単なヘルプを表示します。

まいったな...。sort も uniq も grep もこれで事足りるじゃん。

作成日:2012/02/08
修正日:2012/02/11

SQL 整形(1)

SQL を見やすく整形します。このスクリプトは JavaScript で書かれているので SpiderMonkey が必要です。CotEditor にて選択されたテキストに対して適用されます。

このスクリプトは Seiji Tsubosaki さんが作られた AutoSQLIndent を、作者の許可を得て CotEditor から直接起動できるスクリプト形式にしたものです。作者の Seiji Tsubosaki さんに感謝しましょう。

CotEditor 用の SQL 整形ツールは既に AE35 さんによる PrettyPrintSQL script for CotEditor がありますが、SQL はイマイチ定番と呼べる記法の無い言語であり、人によっていろいろ書き方の嗜好がある言語でもあるので、選択肢は広い方が良いと思い作りました。整形結果を見てお好みの方をお使い下さい。

元のコードは最小限の変更をしています。CotEditor 用スクリプトとしては不要なコードも有りますがそのままにしてあります。

ダウンロード

↓coteditor_script_AutoSQLIndent.sh.zipをダウンロード

設定方法

いくつかの設定により、整形結果をカスタマイズできます。ダウンロードした AutoSQLIndent_for_CotEditor.sh を CotEditor で開き、以下のカスタマイズ方法に従ってカスタマイズしてください。

デフォルトでキーワードを大文字に変換します。この挙動が気に入らない方は関数「getChangeCase()」を変更してください。

デフォルトでカンマを行頭に配置します。この挙動が気に入らない方は関数「getCommaPos()」を変更してください。

デフォルトで Where 句の「And」や「Or」を行頭に配置します。この挙動が気に入らない方は関数「getAndPos()」を変更してください。

デフォルトでスペース4桁でインデントします。この挙動が気に入らない方は関数「getTabSelect()」を変更してください。もし、スペースでのインデントではなくハードタブを使いたい方は関数「makeTabSpace()」を変更してください。

作成日:2012/03/06
修正日:

JavaScript を Safari で実行する

CotEditor で選択中の文字列を JavaScript であるとし、Safari で表示中のページで実行させます。下記のように、関数のコメントにテストケースを記述し実行することが出来ます。また、Web アプリケーション開発時のフォーム入力自動化や Bookmarklet の開発にも役に立ちます。

↓coteditor_script_js_in_safari.zipをダウンロード

coteditor_scrpt_js

作成日:2013/02/03
修正日:

参考

Web 上にはたくさんのスクリプトが公開されています。

作成日:2011/01/28
更新日:2013/02/03

inserted by FC2 system