- Contents -
MacのFinderでスペースキーを押した時に表示されるQuickLook
テキストや画像であれば、簡易Viewerで内容を表示してくれる。
ソースコードが表示されない。
ただ、ソースコードなどのQuickLockに認識されない拡張子だと、
下図のように内容が表示されない。
最近は、マークダウンでメモを残すようにしているので、
.md
ファイルもこんな感じですぐに見れなくて不便。
QuickLookとは
MacOSX に備わっている、
Finderでファイルを選択してSpaceキーを押すと表示される簡易表示の事だ。
QLPlugins という形で下記のディレクトリに、XXX.qlgenerator
というファイル名で配置されている。
- $HOME/Library/QuickLook
- /Library/QuickLook
- /System/Library/QuickLook
使われるqlgeneratorは、上から順に、
ファイルタイプ(ContentType)に対応したものがあれば処理される。
インストールは、これらのディレクトリにプラグイン(.qlgenerator)を配置するだけで動作するので、
アンインストール時もこのディレクトリから基本削除するだけです。
(qlデーモンが動作しているので、qlmanager -r
でリロードする必要はある)
で、あともうひとつ、
アプリケーション自体が、QuickLookを内包している場合もあるようで。
.appのContents/QuickLook 内に.qlgenerator
ファイルが配置されている。
- /Applications/XXX.app/Contents/QuickLook
デフォルトのアプリケーションに設定されている場合は、
このqlgeneratorが優先して使用されるのだろうか。
(ちょっと検証してません)
入れておいた方が良い、QuickLookプラグイン
qlstephen
https://github.com/whomwah/qlstephen
このプラグインは、対応するプレビューがない場合にプレーンテキストとして
簡易表示してくれるものです。
ソースコードは拡張子の種類が多く、
網羅できないので不明な拡張子はテキストとしてプレビューしておいた方が汎用性が高いです。
シンタックスハイライトで表示される訳じゃないので、
あれですが、ファイルの中身が簡単に見れるだけでも充分でしょう。
qlmarkdown
https://github.com/toland/qlmarkdown
マークダウンテキストを、HTMLに展開してプレビューしてくれます。
これホントに便利で、Markdownでメモを残してる場合、
簡単に見れて良いです。
こんなに綺麗に表示してくれる!
インストール
qlgeneratorのインストールは、brewコマンドを使うのが簡単です。
(brew-cask が必要なので、使えるようにしておくと幸せになれます。)
brew update
brew cask install qlstephen
brew cask install qlmarkdown
アンインストール
アンインストールは同様にbrewコマンドで出来ます。
brew cask uninstall qlmarkdown
brew cask uninstall qlstephen
brew コマンドの場合、qlmanager -r
なども自動でやってくれているようです。
qlmanage コマンド
QuickLookの管理コマンドです。
プラグインを入れ替えたときに、デーモンのリロードを行ったり、
コマンドからプレビューを表示したりすることができます。
qlmanage --help
$ qlmanage --help
Usage: qlmanage [OPTIONS] path...
-h Display this help
-r Force reloading Generators list
-r cache Reset thumbnail disk cache
-m [name ...] Display statistics about quicklookd. Stats names:
* plugins Show the generators list
* server Show quicklookd life information
* memory Show quicklookd memory consumption
* burst Show statistics about the last burst
* threads Show concurrent accesses stats
* other Show other information about quicklookd
-d debugLevel Integer between 1-4
-p Compute previews of the documents
-t Compute thumbnails of the documents
-x Use quicklookd (remote computation)
-i Compute thumbnail in icon mode
-s size Size for the thumbnail
-f factor Scale factor for the thumbnail
-F factor Scale factor for the thumbnail, draw downscaled and compare to 1x
-z Display generation performance info (don't display thumbnails)
-o dir Output result in dir (don't display thumbnails or previews)
-c contentType Force the content type used for the documents
-g generator Force the generator to use
キャッシュクリアとリロード
QuickLookディレクトリを操作した場合に、デーモンに反映させる為にリロードをかけます。
(brewでインストール、アンインストールした場合は、ここらへん自動でやってくれてるぽい)
# サムネイルのキャッシュなどを消去
qlmanage -r cache
# Generatorsをリロード
qlmanage -r
プレビューの表示
CUIから、プレビュー表示をする事もできます。
qlmanage -d1 -p ./memo.txt
-d 1
オプションをつける事で デバックレベル1で動作します。
デバックログを出力できるので、どのqlgeneratorが処理しているのかが確認できます。
qlmanage -d1 -p ./memo.txt
Testing Quick Look preview with files:
./memo.txt
[DEBUG] Preview test for memo.txt -- file:///Users/tyab/Desktop/. Content type UTI: public.plain-text
[DEBUG] Previewing file:///Users/tyab/Desktop/memo.txt. Content type UTI: public.plain-text. Generator used: <QLGenerator Text.qlgenerator>
[DEBUG] Loading <QLGenerator Text.qlgenerator>
[DEBUG] Previewing file:///Users/tyab/Desktop/memo.txt finished
generatorを指定して表示する
generatorを指定して、表示させる事もできます。
qlmanage -g /System/Library/QuickLook/Text.qlgenerator -c public.plain-text -p ./memo.md
ファイルのContentType
処理するqlgeneratorは、ファイルのContentTypeをみて判断されるようです。
mdls
コマンドを使うと、指定ファイルのContentTypeを調べる事ができます。
$ mdls ./2018-01-09.txt
_kMDItemOwnerUserID = 501
kMDItemContentCreationDate = 2018-01-09 12:48:31 +0000
kMDItemContentModificationDate = 2018-01-09 12:48:31 +0000
kMDItemContentType = "public.plain-text"
kMDItemContentTypeTree = (
"public.plain-text",
"public.item",
"public.text",
"public.data",
"public.content",
"public.plain-text"
)
kMDItemDateAdded = 2018-01-09 12:48:36 +0000
kMDItemDisplayName = "2018-01-09.txt"
kMDItemFSContentChangeDate = 2018-01-09 12:48:31 +0000
kMDItemFSCreationDate = 2018-01-09 12:48:31 +0000
kMDItemFSCreatorCode = ""
kMDItemFSFinderFlags = 0
kMDItemFSHasCustomIcon = (null)
kMDItemFSInvisible = 0
kMDItemFSIsExtensionHidden = 0
kMDItemFSIsStationery = (null)
kMDItemFSLabel = 0
kMDItemFSName = "2018-01-09.txt"
kMDItemFSNodeCount = (null)
kMDItemFSOwnerGroupID = 20
kMDItemFSOwnerUserID = 501
kMDItemFSSize = 6728
kMDItemFSTypeCode = ""
kMDItemKind = "標準テキスト書類"
kMDItemLogicalSize = 6728
kMDItemPhysicalSize = 8192
おしまい
他にも、QLPluginsというのは沢山あるので調べてみると良いでしょう。
テキスト選択してコピーできるものもあるようなので、重宝しそうです。