别名按名称打开文件

时间:2020-10-01 23:14:55

标签: zsh alias

通过别名,您只需在终端中键入文件名即可打开某些文件格式。例如,如果文件的类型为html,htm,它将在firefox中打开。 alias -s {html,htm}=firefox

我可以对文本文件做同样的事情,只是列出我想要的类型,但是如果文件没有它们,例如〜/ .zshrc或/ etc / fstab,该怎么办?如何按名称打开这样的文件?

2 个答案:

答案 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"