2013年11月2日土曜日

macで拡張子がないテキストファイルを任意のエディタで開きたい

2016/03/26 追記: OSのバージョンが未記入でしたが、投稿時の利用環境はMac OSX 10.8 Mountain Lion です。
ネットの情報を探すと特定の拡張子、あるいは特定のファイルに対して開くアプリケーションを開く方法ばかり説明されていて、タイトルにあげた実現したい内容になかなか行きつけなかったが、非公式ながら実現する方法の情報に行き着いて、試してみたらできたのでメモ。



手順

引用元:
引用元の情報を意訳/抜粋すると

Step 1: テキストエディットを無効化する
TextEdit.app 内の Contents フォルダをリネームする(例えば Contents_ とかに)。
Step 2: お気に入りのエディタを TextEdit.app 内にコピーする。(シンボリックリンクではダメ)
Step 3: 置き換えたTextEdit.app(新TextEdit.app)フォルダ内 "Contents/Info.plist" の中から次の行を見つける。
CFBundleIdentifier
com.barebones.textwrangler
(この例では TextWrangler になっているが、お気に入りのエディタによって当然変わる)
んで、この2行目の内容を "com.apple.TextEdit" と書き換える
CFBundleIdentifier
com.apple.TextEdit
こんなかんじで。
Step 4: もしかするとMacにTextEditの設定とかを忘れさせる為に再起動が必要かも。
※補足
1. Finderでパッケージの内容を表示するには右クリックメニューに"パッケージの内容を表示"という項目を選べば、パッケージをフォルダのように開いて中身を確認できる。
2. Step4にある再起動はしなくても今のところ普通にうごいた。


動かしてみる


 新規に拡張子が無いファイルを作成したり、ほとんどのファイルに関しては問題なくお気に入りのエディタで開くことが確認できた。あと、アプリケーションフォルダ内の "テキストエディット.app" が ”TextEdit.app" という表記に、アイコンがお気に入りのエディタのアイコンに変わっていることに気づいた。


ちょっとおかしい点


今回の変更を行う以前に作成された、作成方法を覚えてないファイルを開くとメッセージが通知された。

書類 ”ファイル名"を開くために設定されているアプリケーションがありません。
この書類を開くアプリケーションを App Store で検索するか、お使いのコンピュータにあるアプリケーションを選択してください。
このメッセージはMac(OS)にとって未知の拡張子がついたファイルを開こうとすると出てくるメッセージと同じだ。
ただ、今回開こうとしているファイルは拡張子がついてないファイルなので、以前にこのファイルに対して行ったなんらかの設定が残ってしまっていると推測している。念のため再起動を行ったりしたが変化しなかった。
試しにファイルの情報を見てみると


このファイルを開くアプリケーションの位置に何も表示されなくなっている。


で、ちょっとおかしい点に対してとる対策は


個別のファイルに対して都度対応する手法しかわかってないが、ファイルを開くと表示されるメッセージで、"アプリケーションを選択"ボタンを選択、アプリケーションの一覧から"TextEdit.app"を選択(開く)、続けて冒頭のメッセージと同じような
十分な情報がないため、“ファイル名”を開くアプリケーションの変更中にエラーが起きました。
“TextEdit.app”で“ファイル名”を開きますか?
という通知がされるが  "アップデート" を選択する。
 
すると、お気に入りのエディタでファイルが開かれる。またFinderからファイルの情報を改めて確認すると先ほどまで空白だった開かれるアプリケーションの項目が "なし" という表記に変わった。

この手順で該当のファイルだけは次回からお気に入りのエディタで開かれるようになるはず。
多分、Mac独特のファイルとファイルを開くアプリケーションを決定させる仕組みによるものだと推測。Windowsでは拡張子によってファイルを開くアプリが決まっているがMacでは拡張子が取り入れられたのがわりと最近(OS9以降?)で、「拡張子による開くアプリケーションの関連付け」よりも前に「ファイル単体にヒモ付られた関連付け」という2種類の経路で開かれるアプリケーションが決められるようで、そのうちの後者(ファイル単体との関連付け)の設定が拡張子なしのファイルに残っていたと推測できる。
しかし、再度今回の設定をもとに戻してMac標準のテキストエディットに戻して再現を試みたが結局再現手順がわからなかった。どこかにファイル単体と開くアプリの設定ファイルがあると思って探したけど見つけられず。

ちなみに今回試したお気に入りのエディタはSublimeText2。ま、とりあえずはやりたいことは実現できたし満足。





2 件のコメント:

  1. 情報を見るで拡張子を一度とって
    再度拡張子をつけると戻りました

    返信削除
    返信
    1. 書いた本人でも2年以上前に書いた内容で経緯を含めて記憶もあやふやなのですが、このポストは記事内にもあるように「拡張子がないテキストファイル」を常に特定のエディタで開くことが目的でした。ですので、mashさんが言われている内容は違う状況のように感じます。

      削除