Как сделать Quick Look предварительным просмотром текстовых файлов в UTF-8 по умолчанию?

2732
kch

Когда я использую Quick Look в Finder для текстового файла, он неизбежно будет отображаться искаженным, потому что он обрабатывает его как MacRoman.

Могу ли я сделать что-нибудь, чтобы он всегда использовал UTF-8, или, что еще лучше, быть немного умнее в обнаружении кодирования?


<rant>
Возможно, не все мои текстовые файлы имеют формат UTF-8. Но я уверен, что ни один из них не является Макроманом. Я думаю, некоторые люди в Apple все еще используют OS 9.
</ декламация>

2

2 ответа на вопрос

6
Alex

Это проблема атрибута файла. Смотрите здесь, в конце, две ссылки, объясняющие это: http://discussions.apple.com/thread.jspa?threadID=1479441&tstart=120

В основном, если вы выполните это: xattr -w com.apple.TextEncoding 'UTF-8;134217984' yourfile.txtваш файл будет правильно отображаться в QuickLook.

На мой взгляд, это больше связано с редактором и способом сохранения файла, чем с QuickLook.

По моему мнению, операционная система MacRoman по умолчанию, в то время как мир движется дальше, является махинацией. kch 13 лет назад 1
Я думаю, теперь мне нужен способ запустить его для каждого текстового файла, который я создаю. На ум приходят fsevents и действия с папками. Было бы неплохо, если бы у TextMate также были хуки после сохранения. kch 13 лет назад 0
Почему бы вам просто не сохранить его как UTF-8 в TextMate? mipadi 13 лет назад 0
Да, это действительно проблема. QuickLook считает, что это MacRoman в любом случае. Отсюда и полоскание. kch 13 лет назад 0
0
kch

Я написал небольшой скрипт, который нажимает на fsevents и устанавливает xattr, когда файл сохраняется в моем доме.

Я также раскрываю расширение файла, которое не имеет отношения к этому вопросу.

Проверьте сценарий здесь: http://gist.github.com/506382

Сценарий должен постоянно работать, поэтому приветствуем файл с заданием запуска.


Также, смотрите мой комментарий об использовании ~/.CFUserTextEncoding здесь .

Говоря о launchd, WatchPaths и QueueDirectories могут выполнять эту работу, и мне не нужно самому нажимать на fsevents. kch 13 лет назад 0

Похожие вопросы