Shr*_*saR 5 bash zsh command-line tab-completion macos
在 Mac OS X 上,我知道可以使用默认应用程序从命令行打开文件,open
使用open -a <application name>
. 因此,
open movie.avi
open -a VLC movie.avi
open movie.avi -a VLC
Run Code Online (Sandbox Code Playgroud)
所有的工作。我唯一的抱怨是当我打字时
open movie.avi -a <TAB>
Run Code Online (Sandbox Code Playgroud)
它完成了计算机上存在的所有应用程序 - 例如在 zsh 中我得到
zsh: do you wish to see all 793 possibilities (200 lines)?
Run Code Online (Sandbox Code Playgroud)
— 虽然我希望它仅完成 Finder 的“打开方式”菜单会显示的少数应用程序。
那么有没有办法访问 Finder 知道的这个列表,并使我的 shell(zsh,但如果有帮助,我可以切换到 bash)知道该列表,这样选项卡完成将只显示那些应用程序?
$ AllApplications -h
Created 03 March 2011 by Hank McShane
version 0.1
requires Mac OS X 10.4 or higher
Use this command line tool to get the path to all applications that can open a file from Launch Services.
Usage: AllApplications -path path/to/file
$ ext=png; f=/tmp/allapps.$ext; touch $f; AllApplications -path $f; rm $f
/Applications/Preview.app
/2/copies/Safari.app
/Applications/TeX/LaTeXiT.app
/Applications/WebKit.app
/Applications/Sequential.app
/Applications/ImageOptim.app
/Applications/Acorn.app
/Developer/Applications/Graphics Tools/Core Image Fun House.app
/2/copies/Preview.app
/Developer/Applications/Dashcode.app
/Applications/GraphicConverter.app
/Applications/Google Chrome.app
/Applications/Adobe Photoshop CS5/Adobe Photoshop CS5.app
/Applications/Utilities/QuickTime Player 7.app
/Applications/Utilities/ColorSync Utility.app
/Applications/Safari.app
/Applications/Adobe Device Central CS5/Adobe Device Central CS5.app
/Applications/Firefox.app
Run Code Online (Sandbox Code Playgroud)
$ duti -d public.png
com.apple.Preview
$ duti -l public.png
com.SequentialX.Sequential
com.flyingmeat.Acorn
net.pornel.ImageOptim
com.apple.system-library
com.apple.ColorSyncUtility
com.apple.Preview
Run Code Online (Sandbox Code Playgroud)
(虽然它缺少一些显示在打开菜单中的应用程序。)
归档时间: |
|
查看次数: |
1097 次 |
最近记录: |