Skip to content

Instantly share code, notes, and snippets.

@pn11
Created January 14, 2016 10:59
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pn11/2496b0a4fcc87c136ba3 to your computer and use it in GitHub Desktop.
Save pn11/2496b0a4fcc87c136ba3 to your computer and use it in GitHub Desktop.
Cyberduckで、ファイルを適切なアプリで開いて編集できるようにする

Cyberduckで、ファイルを適切なアプリで開いて編集できるようにする

Cyberduckはリモートでファイルを選択した状態でEdit (多分日本語では編集) を押すとエディタなどでファイルを開き、保存すると自動的にリモートにアップロードされる。これは便利なんだけど、設定が貧弱でエディタを1種類しか選択できない。MarkdownはMacDownで、TeXはTeX Shopでとか、もっと細かく設定したい!とつねづね思っていたところ、ふと解決法が思い浮かんだのでつくった。拡張子ごとに適切なアプリを振り分けるスクリプトを書いてAutomatorでアプリにするだけ。手順は以下。

1.

Automatorを開き、Applicationを新規作成。

2.

検索窓でRun Shell Scriptを探して右にドラッグ。

3.

中身に以下のスクリプトをコピペして、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で開かれるようになっている。

4.

これを/Applicationsとか~/Applicationsとか適当な場所に適当な名前で保存し、Cyberduckの設定画面からエディタとして設定する。

おしまい。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment