web-dev-qa-db-ja.com

TextMateは一時ファイルを作成し、それらを削除しません!

私はTextMateを使用しており、ファイルを編集するたびに._fileのようなコピーが作成されます。

これは私の狂気を駆り立てており、前回使用しているアプリで深刻な問題が発生しました。ファイルは新しいコンポーネントであり、ロードできなかったため(新しいコンポーネントではなかったため)、クラッシュしました。

この一時ファイルを削除するにはどうすればよいですか?

6
OscarRyz

._fileファイルは実際には一時ファイルではなく、Mac OSXのリソースフォークデータを保持するファイルです。MacOSXは、メタデータを保持するために、非HFSシステムに保存されているファイルに対してこれを作成します。

ただし、次のコマンドを実行して、TextMateによるリソースフォークの作成を無効にすることができます。

defaults write com.macromates.textmate OakDocumentDisableFSMetaData 1

最新バージョン(ビルド1589- 2009年11月23日)を使用している場合、他のドライブにメタデータが必要な場合は、代わりにファイルシステムのアレイを入力することもできます(内部には「はい」、ネットワークには「いいえ」と言います)。非HFSドライブ):

defaults write com.macromates.textmate OakDocumentCustomFSMetaData '( afpfs, nfs, msdos, hfs )'
13
Chealion

これらの._、またはdot-underscoreファイルは、拡張属性を保存する代替方法としてMacOSXによって作成されます。それらをネイティブにサポートしていないファイルシステム上。

技術的にも歴史的にもまったく異なるものですが、最近のバージョンのMac OSXは、リソースフォーク more/lessを拡張属性のように扱います。 、少なくともユーザーの観点から。 (拡張)ファイル属性、リソースフォーク、ストリームなどの(技術的な)詳細については、これを参照してください stackexchangeの質問

コマンドラインのls -lを使用して、ファイルの拡張属性の存在について知ることができます。拡張属性を持つファイルには、名前に@が追加されています。 ls -l@を実行すると、これらの属性の名前も一覧表示されます。そして最後に、xattr -l <filename>を実行すると、指定したファイルの属性名とデータが出力されます(16進エディタースタイル)。例については、以下を参照してください。

$ > ls -la ~/Library/Fonts
total 225448
drwx------+ 536 arri  staff    18224 Jun 17 04:57 .
drwx------@ 101 arri  staff     3434 Aug 18 16:33 ..
-rwxr-xr-x@   1 arri  staff       45 Aug 12  2010 04b-03.suit
-rwxr-xr-x    1 arri  staff    19492 Mar 25  2003 04b03.ttf
-rw-r--r--@   1 arri  staff    54544 Apr 24  2012 27344.ttf
...
$ > ls -la@ ~/Library/Fonts
total 225448
drwx------+ 536 arri  staff    18224 Jun 17 04:57 .
drwx------@ 101 arri  staff     3434 Aug 18 16:33 ..
    com.Apple.FinderInfo         32 
-rwxr-xr-x@   1 arri  staff       45 Aug 12  2010 04b-03.suit
    com.Apple.FinderInfo         32 
    com.Apple.ResourceFork    20314 
-rwxr-xr-x    1 arri  staff    19492 Mar 25  2003 04b03.ttf
-rw-r--r--@   1 arri  staff    54544 Apr 24  2012 27344.ttf
    com.Apple.metadata:kMDItemDownloadedDate         53 
    com.Apple.metadata:kMDItemWhereFroms        166 
$ > xattr -l ~/Library/Fonts/04b-03.suit 
com.Apple.FinderInfo:
00000000  46 46 49 4C 44 4D 4F 56 01 00 00 00 00 00 00 00  |FFILDMOV........|
00000010  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
00000020
com.Apple.ResourceFork:
00000000  00 00 01 00 00 00 4E F2 00 00 4D F2 00 00 00 68  |......N...M....h|
00000010  C9 0B 1A C9 23 08 03 1A C9 0B 1A C9 23 02 1A C9  |....#.......#...|
...

HFS Plusの次に、他の多くのファイルシステムも拡張属性をサポートしていることに注意してください。MacOSXですぐに使用できるとは限りません。

1つの例は、たとえば、SMBにマウントされたリモートWindowsファイルシステム(NTFS)です。 SMB-「プロトコル」(およびMac-その実装)としての両方のNTFSファイルシステムは拡張属性をサポートしますが、そのコンテキストでは、それらは名前付きストリームと呼ばれます。この機能はデフォルトで無効になっていることがよくありますが、説明されているように簡単に有効にできます ここ

1
arri

TextMateはリソースフォークを使用して、編集位置やコード折り畳み状態などを保存します。これらはすべてあなたがなくても生きることができるものですが、確かに持っていてよかったです。

0
Morven