Cyberduckはリモートでファイルを選択した状態でEdit
(多分日本語では編集
) を押すとエディタなどでファイルを開き、保存すると自動的にリモートにアップロードされる。これは便利なんだけど、設定が貧弱でエディタを1種類しか選択できない。MarkdownはMacDownで、TeXはTeX Shopでとか、もっと細かく設定したい!とつねづね思っていたところ、ふと解決法が思い浮かんだのでつくった。拡張子ごとに適切なアプリを振り分けるスクリプトを書いてAutomatorでアプリにするだけ。手順は以下。
Automatorを開き、Applicationを新規作成。
検索窓でRun Shell Script
を探して右にドラッグ。
中身に以下のスクリプトをコピペして、Pass input:
のところを as arguments
にする(日本語版の記述は知らない)。シェルはbashのままにしておく。
extension=`echo $1 | sed 's/.*\.//g'`
function program(){ #$1: extension
case $1 in
"md" ) echo "MacDown" ;;
"tex" ) echo "TeX Shop" ;;
"key" ) echo "Keynote" ;;
"pages" ) echo "Pages" ;;
"pdf" ) echo "Preview" ;;
"jpg" ) echo "Preview" ;;
"gif" ) echo "Preview" ;;
"png" ) echo "Preview" ;;
"docx" ) echo "Microsoft Word" ;;
"doc" ) echo "Microsoft Word" ;;
"xlsx" ) echo "Microsoft Excel" ;;
"xls" ) echo "Microsoft Excel" ;;
"pptx" ) echo "Microsoft PowerPoint" ;;
"ppt" ) echo "Microsoft PowerPoint" ;;
esac
}
app=`program $extension`
if [ -n "$app" ]
then
open -a "$app" $@
else
echo "No matching application. Open with CotEditor"
open -a CotEditor $@
fi
アプリの種類は適宜編集・追加する。リストにない拡張子の場合はCot Editorで開かれるようになっている。
これを/Applications
とか~/Applications
とか適当な場所に適当な名前で保存し、Cyberduckの設定画面からエディタとして設定する。
おしまい。