如何解决zsh 外壳别名
我在 Mac OS 终端上使用 Zsh 作为我的默认 shell,并使用 .zshrc 文件来更新别名
我要更新的命令之一是 cat
。我想用语法突出显示和行号打印命令的输出。
所以当我输入 cat <filename>
时,它的别名应该是 pygmentize -g <filename> | nl -b a
到目前为止我尝试过的不同方法,
方法#1:
alias cat="pygmentize -g $1 | nl -b a"
这是立即打印带有行号的文件内容,但暂时不返回。因此,当我按下 Ctrl+C 时,出现以下错误。
Traceback (most recent call last):
File "/usr/local/bin/pygmentize",line 33,in <module>
sys.exit(load_entry_point('Pygments==2.7.3','console_scripts','pygmentize')())
File "/usr/local/Cellar/pygments/2.7.3/libexec/lib/python3.9/site-packages/pygments/cmdline.py",line 557,in main
return main_inner(popts,args,usage)
File "/usr/local/Cellar/pygments/2.7.3/libexec/lib/python3.9/site-packages/pygments/cmdline.py",line 408,in main_inner
code = sys.stdin.buffer.read() # use .buffer to get a binary stream
KeyboardInterrupt
方法#2:
function cat() { pygmentize -g $1 | nl -b a }
相同的输出,当按下 Ctrl+C 时,堆栈跟踪与上面相同。
有人可以帮我解决这个问题吗?
解决方法
删除“function”关键字,它应该可以正常工作:
this.props.pageContext.modulename
如果你想让它滚动得更好一点:
cat() {
pygmentize -g $1 | nl -b a
}
我还建议将其命名为与 cat() {
pygmentize -g $1 | nl -b a | less -Rai
}
稍有不同的名称,因为 ccat
仍然很有用,您可以运行的任何脚本仍然可以轻松访问它。
错误 KeyboardInterrupt
表示您退出了程序。但是,如果它有一段时间没有响应,您可以检查 Activity Monitor
以查看它是否正在运行/正在做什么。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。