默认情况下在zsh中打开$ EDITOR中的文件

时间:2015-06-22 15:22:21

标签: zsh

在zsh中,如果你可以在不指定cd命令的情况下打开目录,就像这样

% pwd
/home/user/test
% ls
integration shared unit
% unit
% pwd
/home/user/test/unit

每次尝试打开目录时,这都可以有效地节省写入'cd'。然而,它足够聪明,不能'cd'到文件中。是否可以在不指定$ EDITOR命令的情况下打开文件?

例如,

% ls
test
% test
% pwd
/users/home/test
% ls 
test.rb
% test.rb
... opens in an editor ...

1 个答案:

答案 0 :(得分:2)

Zsh通过后缀别名支持此功能。试试这个:

% alias -s rb=$EDITOR
% touch foo.rb
% foo.rb  # it opens

我在~/.zshrc中有一长串后缀别名。这个ruby扩展不是一个很好的例子,因为程序文件经常需要执行,现在它出人意料地打开了。它还可能导致path中具有冲突名称(foo.rb?)的脚本混淆。当你不想记住哪个是你最喜欢的文件类型的应用程序时,它对pdf,flac,mp4,csv等等更有意义:

% alias -s pdf=evince