在 zsh 中默认在 $EDITOR 中打开文件
Open file in $EDITOR by default in 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 ...
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
在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 ...
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