通过别名,您只需在终端中键入文件名即可打开某些文件格式。例如,如果文件的类型为html,htm,它将在firefox中打开。 alias -s {html,htm}=firefox
我可以对文本文件做同样的事情,只是列出我想要的类型,但是如果文件没有它们,例如〜/ .zshrc或/ etc / fstab,该怎么办?如何按名称打开这样的文件?
答案 0 :(得分:1)
此函数应执行您想要的操作(将其添加到.zshrc
):
command_not_found_handler() {
if [[ -o interactive && -w $1 ]]; then
vi $1
else
echo zsh command_not_found_handler: command not found: $@ >&2
return 1
fi
}
顾名思义,只要zsh找不到在shell中输入的命令,就会调用该命令。现在,如果找不到“命令”,则会在该参数上调用编辑器。
-o interactive
测试应确保仅在您键入内容时才调用编辑器; Shell脚本中的无效命令仍将失败。 -w
测试检查可编辑文件。
使用此工具时,您可能还会发现其他条件。
ETA:如注释中所述,这仅适用于简单文件名;如果指定了文件的路径,它将无法正常工作。
答案 1 :(得分:0)
对于经常编辑的常见文件,您可以为这些文件制作单独的别名。我有别名
alias hosts="sudo vi /etc/hosts"
alias zshrc="vi ~/.zshrc"